Object-C 单例模式

标准模版代码: // Singleton.h文件 #import @interface Singleton : NSObject + (Singleton*)sharedManager; @property (nonatomic, strong) NSString* singleton...

2016-08-17 11:36:26

阅读数 243

评论数 0

策略模式

就是定义一系列的算法,把他们一个个封装起来,并且使他们可相互替换,Strategy模式算法可独立于使用它的客户端变化 涉及角色 抽象策略角色:通常用一个抽象类或者接口来实现,主要是定义这个算法所完成的功能 具体策略角色:包装相关算法和行为 环境角色:持有策略类的引用 优点...

2016-04-19 23:35:48

阅读数 218

评论数 0

状态模式

允许一个对象在其内部状态改变时改变它的行为,这个对象看起来似乎修改它的类,能够让程序根据不同的外部状况做出不同的响应,最直接的方法就是在程序中将这些可能发生的外部情况全部考虑到,使用 if else 语句来进行代码响应选择,但是这种方法对于复杂一点的状态判断,就会显得杂乱无章,容易产生错误。而且增...

2016-04-19 23:15:38

阅读数 238

评论数 0

模板方法模式

模板方法模式把具体实现的步骤封装成抽象方法,提供一些按正确顺序调用它们的具体方法,这样构成一个抽象基类。子类通过继承这个抽象基类去实现各个步骤的抽象方法,而工作流程却由父类来控制 实现 模板模式是众多模式之中用得比较多的模式,其是先写定义,后实现,然后再调用,将实现与调用分开,从而利用...

2016-04-18 23:09:53

阅读数 235

评论数 0

操作型模式

State 模式将所有与一个特定状态相关的行为都放入一个 State的子类对象中,在对象状态切换时,切换相应的对象;但同时维持State的接口,这样实现具体操作与状态之间的解耦。为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性,要么彻底转换...

2016-04-17 23:06:02

阅读数 211

评论数 0

备忘录模式

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态 使用备忘录模式的原因 想要恢复对象某时的原有状态 备忘录模式组成部分 1> 备忘录角色:备忘录角色存储“备忘发起角色”的内部状态 2> 备忘...

2016-04-17 22:43:25

阅读数 216

评论数 0

原型模式

原型模式是允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 引入原型模式的本...

2016-04-17 22:26:21

阅读数 290

评论数 0

抽象工厂模式

涉及到的角色 抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关,通常使用接口或抽象类实现 具体工厂角色:这个角色直接在客户端的调用下创建产品的实例,这个角色含有选择合适的产品对象逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关 抽象产品角色:担任这个角色的类是抽象...

2016-04-17 19:19:54

阅读数 230

评论数 0

生成器模式

1> 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式 2> 当构造过程必须允许被构造器的对象有不同的表示时 使用生成器模式的目的 可以将构建复杂对象的过程和它的部件解耦,因为一个复杂的对象,不但有很大量组成部分,Builder模式就是将这部件和组装过程分...

2016-04-15 23:45:01

阅读数 267

评论数 0

构造型模式

Java的构造器并不是函数,所以不能被继承,构造器的修饰符比较有限,只有 public private protected,其它任何修饰符都不能对其使用,就是说构造器不能被命名为抽象、同步、静态等等访问限制以外的形式 注:构造器不是函数,因此没有返回值,也不允许有返回值,但是构造器允许存在ret...

2016-04-15 23:28:52

阅读数 559

评论数 0

享元模式

享元模式的意图是运用共享技术有效地支持大量细粒度的对象。也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以,不必每个都去实例化一个对象。在 Flyweight 模式中,由于要产生各种各样的对象,所以在Flyweight 模式中常出现 Factory模式。Flyweight的内部状态是用...

2016-04-14 23:38:43

阅读数 297

评论数 0

中介者模式

用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单点来说,将原来两个直接引用或者以来的对象拆开,在中间加入一个“中介”对象,使得两头的对象分别和“中介”对象引用或者依赖 组成角色 1> 抽象终结者角色:抽象中...

2016-04-13 23:47:19

阅读数 230

评论数 0

观察者模式

观察者模式又叫发布订阅模式。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。当两个对象之间松耦合,他们依然可以交互,但是不太清楚彼此的细节,观察者模式提供一种对象设计,让主题和观察者之间松耦合 1> 关于观察者的一切,主题只知道...

2016-04-12 23:15:23

阅读数 287

评论数 0

单例模式

对象只要利用自己的属性完成自己的任务,那该对象就是承担责任。除了维持自身的一致性,该对象无需承担其他任何责任。如果该对象还承担其他责任,而其它对象又依赖于该特定对象所承担的责任,就需要得到该特定的对象 单例模式的目的 将类的责任集中到唯一的单体对象中,确保该类只有一个实例,并且为该类提...

2016-04-12 22:16:54

阅读数 189

评论数 0

责任型模式

责任链可能是一条直线、一个环链甚至一个树结构的一部分 涉及到角色 1> 抽象处理者角色:定义出一个处理请求的接口,假如需要,接口可以定义出一个方法,以返回对下家的引用 2> 具体处理者角色、处理接到请求后,可以选择将请求处理掉,或者将请求传给下家 ...

2016-04-10 18:33:30

阅读数 356

评论数 0

Bridge(桥接)模式

Bridge模式 是 将分离部分与它的实现部分分离,使它们都可以独立的本地化 特点:1> 分离接口及其实现部分,这里实现 Abstraction 和 Implements 的分离,有助于降低对实现部分的依赖,从而产生更好的结构化系统            2> 提高可充...

2016-04-10 18:30:34

阅读数 209

评论数 0

组合模式

组合模式将对象以树形型结构组织起来,以达到“部分 - 整体”的层次结构,使得客户对单个对象和组合对象的使用具有一致性。组合模式屏蔽容器对象与单个对象在使用时的差异,为客户端提供统一的操作接口,从而降低客户代码预备调用对象的耦合关系,方便系统的维护与扩展 定义一个公用的接口,让组合对象和单...

2016-04-10 18:29:00

阅读数 285

评论数 0

Facade(外观)模式

子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更容易使用,就是说 需要有一条比现有的与一个系统交互的途径更简单的途径或是需要用一种特殊的方式使用这个系统。通过这个界面,其他系统可以方便地调用子系统的功能,而忽略子系统内部发生的变化: ...

2016-04-10 18:27:30

阅读数 418

评论数 0

Adapter(适配器)模式

Adapter 模式是一个常用的模式,它可以与其他很多模式共同使用 Adapter模式的意图是 将一个类的接口转换成希望的另外一种接口,Adapter模式使原本由接口不兼容而不能一起工作的那一些类可以起工作,就是说 需要一种方法,为一个内容合适但接口不配的对象创建一个新的接口,这样把一个...

2016-04-10 18:23:27

阅读数 271

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭