设计模式_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 设计模式 >>列表
· android MVP设计模式!发布时间:2016-09-03
实现原理:MainActivity用来更新UI,和显示业务逻辑的结果!LoginPresenterCompl用来处理业务逻辑ILoginPresenter业务处理类抽象出来的接口ILoginViewactivity抽象出来的接口1.为什么要把activity的UI更新方法抽象出来?因为你的项目不可能只有一个activity吧,如果想要每个activity都用MVP模式,那么就把共有的方法抽象出来就可以的2.为什么要把业务处理类抽象出来?同理,每个activity的业务处理逻辑肯定是不一样的... 查看全文
· .NET 设计模式之单例模式(一)发布时间:2016-08-08
1.简单解释:在创建对象时,无论创建多少次,在堆空间上只会申请一次内存空间。2.例子:publicclassSingleton{privatestaticSingletom_singleton=null;//锁privatestaticObjectsingleton_lock=newObject();//构造函数私有化privateSingleton(){//初始化代码}publicstaticSingletonCreateInstance(){if(_singleton==null... 查看全文
· iOS开发中常用的设计模式发布时间:2016-08-07
常用的设计模式(一)代理模式应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegate(二)观察者模式应用场景:一般为model层对,controller和view进行的通知方式,不关心谁去接收,只负责发布信息。优势:解耦合敏捷原则:接口隔离原则,开放-封闭原则实例... 查看全文
· 重构——与设计模式的恋情发布时间:2016-07-23
慢慢的,我发现,我想和《重构》加深感情不那么容易,于是我就想办法,重构有个好闺蜜《设计模式》,他们青梅竹马两小无猜,行为习性喜好都差不多,要让重构爱上我,我或许可以和设计模式多聊聊,从她那里取经,然而我和设计模式不熟悉,一个巧合,我知道了设计模式和我的一个老朋友《面向对象》是铁哥们,便找面向对象帮忙和设计模式交上朋友,朋友关系很是纯净!... 查看全文
· 设计模式之桥接模式发布时间:2016-06-27
桥接模式:实现系统可能有多角度分类,每一种分类都有可能的变化,那么就把这种多角度分离出来让他们独立变化,减少它们之间的耦合下面的实例是一个手机软件的实例,对于手机来说,我们可以从手机的品牌进行分类,也可以从软件角度分类(功能机),同时手机品牌与手机软件是一个聚合的关系。代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks... 查看全文
· 简单工厂设计模式[]发布时间:2016-06-27
本宝宝只是一个菜鸟,写写学习笔记,以便温故知新,如果哪里不对或者不足,望大牛指正。1.我们先举个例子说明一下,eg:加减乘除的运算[一步步优化]ⅰ.[第一种写法]classProgram{staticvoidMain(string[]args){//第一种方法,显得不专业//输入Console.Write("请输入一个数字:");//接收stringA=Console.ReadLine();Console.Write("请输入运算符,+、-、*、/");stringB=Console... 查看全文
· 设计模式之单例模式发布时间:2016-06-26
单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。下面的代码是通过两个button按钮来弹出小窗口,但是只能有一个小窗口被创建,不能出现点击一个按钮就创建一个,应该是点击第一个按钮创建一个小窗口,点击第二个时,就不创建了。代码如下:Form1:usingSystem... 查看全文
晚上无聊写了个二叉树(图)的广度和深度遍历算法,算法本身很简单,但是如何做到通用呢,一下代码是我的设计,请大家帮忙看看有什么问题,我自己感觉有问题就是不知道具体什么问题publicinterfaceIGraph<TVertex>{IEnumerable<IEdge<TVertex>>Edges{get;}}publicinterfaceIEdge<TVertex>{TVertexFrom{get;set;}TVertexTo{get;set;}... 查看全文
1.概述简单工厂模式就是将一个类的实例化交给一个静态工厂来执行。2.使用频率中3.模式结构3.1机构图3.2模式中的角色Product:抽象类,把具体产品类公共的代码进行抽象和提取封装在一抽象产品类中。CreateProduct:具体的产品类,将需要创建的各种不同产品对象封装到具体的产品类中。Factory:工厂类,用于创建不同产品的示例,在工厂类中提供一个创建产品工厂方法,该方法可根据传入的参数不同创建不同的具体的商品对象。Client:客户端... 查看全文
Softwareentitiesshouldbeopenforextension,butclosedformodification——BertrandMeyer如果把编程比作战争,那么设计模式就是36计。首先,让我来介绍一下设计模式中最简单的一种——单例模式什么叫单例模式呢?一山难容二虎,古代皇帝只有一个;现代社会女人不好惹,老婆只能有一个。在计算机的世界里,有一些东西也是比较霸道的,比如说配置文件,线程池,缓存,日志文件等等。有了两个配置文件,就要考虑到一致性问题,没事儿找事儿干;有两个缓存... 查看全文
下面接着讲懒汉模式的实现方法http://794950040.iteye.com/blog/2208102以上面的饿汉模式实现为基础实例化一个新的类Singleton2.javapackagecom.elf.SimpleMode;/**懒汉模式*/publicclassSingleton2{}然后三步走:1.将构造方法方法改为私有的2.申明类的唯一实例,用privatestatic修饰,但是不实例化3.在getInstance()方法中实例化该唯一对象得到的类为:packagecom.elf... 查看全文
· 设计模式——总括发布时间:2015-05-04
Softwareentitiesshouldbeopenforextension,butclosedformodification——BertrandMeyer对扩展开放,对修改关闭——“开闭原则”例如:你要设计一个类似联盟的APP,这个APP可以产生多种不同的发型,脸型,眼睛,但是未来用户还会有什么需求是我们目前不可知晓的,如何做到该软件可扩展而又不用牵一发而动全身呢?踏实肯干的人或许会信心满满的总结出一套自己的代码设计风格,但是,回首已千年。站在巨人的肩膀上成功,那也叫成功... 查看全文
· iOS中MVC设计模式发布时间:2015-05-02
在组织大型项目的代码文件时,我们常用MVC的思想。MVC的概念讲起来非常简单,就和对象(object)一样。但是理解和应用起来却非常困难。今天我们就简单总结一下MVC设计理念。MVC(ModelViewController)模型(model)-视图(view)-控制器(controller):MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图... 查看全文
· java设计模式学习(转)发布时间:2015-05-02
转自《Java之美[从菜鸟到高手演变]之设计模式》参考:《如何正确地写出单例模式》,《JDK里的设计模式》一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二... 查看全文
· JAVA设计模式之单例模式发布时间:2015-04-17
概念:java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。单例模式有以下特点:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机... 查看全文
· java 的模板方式设计模式发布时间:2015-04-15
适用场景在某些类的算法中,用了相同的方法,造成代码的重复。控制子类扩展,子类必须遵守算法规则。缺点每个不同的实现都需要定义一个子类,这会导致类的个数的增加,设计更加抽象。优点模板方法模式通过把不变的行为搬移到超类,去除了子类中的重复代码。子类实现算法的某些细节,有助于算法的扩展。通过一个父类调用子类实现的操作,通过子类扩展增加新的行为,符合“开放-封闭原则”。模式中的角色抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。具体类(ConcreteClass)... 查看全文
策略模式是一种很简单的基础模式,用于封装一系列算法,使客户端的访问独立于算法的实现。我们可以”井中取水”来形象的描述策略模式。“取水”是一个动作,完成这个动作的方式有很多中,可以直接用手提、可以用水车汲水、也可以用电泵抽水。在不同的环境和条件下,我们选择不同的取水方式,这就是策略模式。策略模式的应用场景1,有大量动作相同实现不同的行为模式需要配置,以使在适当的环境下选择恰当的行为。2,算法或实现需要一系列不同的变量。同样的行为在不同的前提下产生不同的结果。3,有复杂的算法... 查看全文
· 设计模式总结发布时间:2015-04-07
1.工厂模式1.1工厂方法模式(由一个工厂类管理构造方法)1.1.1普通工厂模式(一个工厂类中只有一个方法)1.1.2多工厂模式(一个工厂类中有多个方法)1.1.3静态工厂模式(将工厂类中的方法变成静态方法)1.2抽象工厂模式(将工厂由类变为接口,将类中的方法变为类)本质:通过接口降低耦合性,用一个专门的东西来管理具体实现的方法.2单例模式单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:2.1... 查看全文
· 设计模式(c#)代码总结发布时间:2015-03-28
之前写过Python的设计模式,由于经常不使用Python,回过头来再看Python的设计模式,有时候感觉并不是那么的显而易见,所以使用c#重新将代码编写一遍,更加清晰明了。这里借用原来的介绍,对模式做简要说明,模式简易说明和类图,请查看http://www.cnblogs.com/cotton/category/606629.html设计模式分为三种类型创建型模式:简单工厂、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式结构型模式:适配器模式、桥接模式、装饰模式、组合模式... 查看全文
工厂模式是一种创建型模式,因为此模式提供更好的途径去创建对象。在工厂模式里,我们不用向客户端暴露创建逻辑而能创建对象。例子下面展示如何使用工厂模式去创建对象。该工厂模式将创建形状的对象,比如圆、长方形。首先我们设计一个表示形状(Shape)的接口。publicinterfaceShape{voiddraw();}接着我们创建具体类实现该接口。以下是Rectangle.java的代码publicclassRectangleimplementsShape... 查看全文