设计模式
luck_horse
这个作者很懒,什么都没留下…
展开
-
设计模式之桥接模式
桥接模式(Bridge)是一种结构型设计模式。Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。桥接模式的角色和职责:1.Client 调用端这是Bridge模式的调用者。2.抽象类(Abstraction)...转载 2018-04-10 14:57:01 · 102 阅读 · 0 评论 -
快速理解桥接模式
桥接模式的目的是:分离抽象化和实现,使两者的接口可以不同,目的是分离。桥接模式的角色有:实现(Implementor):定义具体行为,具体特征的应用接口。具体实现(ConcreteImplementor):实现Implementor。目标接口(Target): 包含实现具体行为、具体特征的Implementor接口或者类。桥接模式通过在Target里的操作,调用Implementor得操作,达到了...转载 2018-04-10 14:58:52 · 436 阅读 · 0 评论 -
设计模式总结之Bridge Pattern(桥接模式)
Bridge Pattern(桥接模式)意图将抽象部分与它的实现部分分离,使它们都可以独立地变化。【GOF95】在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。* 抽象化存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些...转载 2018-04-10 15:02:29 · 128 阅读 · 0 评论 -
Singleton Pattern(单例模式)
意图保证一个类仅有一个实例,并提供一个访问它的全局访问点。适用性• 当类只有一个实例而且客户可以从一个众所周知的访问点访问它时。• 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。结构例子 iOS:[NSUserDefaults standardUserDefaults];[NSFileManager defaultManager];[UIApplicat...转载 2018-04-10 15:17:23 · 120 阅读 · 0 评论 -
设计模式总结之Observer Pattern(观察者模式)
Observer Pattern(观察者模式)意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。适用性* 当一个抽象模型有两个方面, 其中一个方面依赖于另一方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。* 当对一个对象的改变需要同时改变其它对象, 而不知道具体有多少对象有待改变。* 当一个对象必须通知其它对象,而它又不...转载 2018-04-10 15:20:04 · 122 阅读 · 0 评论 -
Strategy Pattern(策略模式)
意图定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用性1. 许多相关的类仅仅是行为有异。“策略”提供了一种用多个行为中的一个行为来配置一个类的方法。2. 需要使用一个算法的不同变体。例如,你可能会定义一些反映不同的空间/时间权衡的算法。当这些变体实现为一个算法的类层次时,可以使用策略模式。3. 算法使用客户不应该知道的数据。可使用策略模...转载 2018-04-10 15:24:53 · 144 阅读 · 0 评论 -
设计模式总结之Composite Pattern(组合模式)
Composite Pattern(组合模式) 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 组合模式让你可以优化处理递归或分级数据结构。有许多关...转载 2018-04-10 15:34:18 · 138 阅读 · 0 评论 -
Prototype Pattern(原型模式)
意图用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。适用性• 当要实例化的类是在运行时刻指定时,例如,通过动态装载;• 为了避免创建一个与产品类层次平行的工厂类层次时;• 当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用合适的状态手工实例化该类更方便一些。结构 参与者:• Prototype(原型) — 声明一个克隆自身的接口。• Concr...转载 2018-04-10 17:18:58 · 111 阅读 · 0 评论 -
设计模式总结之Builder Pattern(建造者模式)
Builder Pattern(建造者模式)意图将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。适用性* 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。* 当构造过程必须允许被构造的对象有不同的表示时。结构参与者:Builder(抽象建造者角色) — 为创建一个Product对象的各个部件指定抽象接口。ConcreteBuilder(具体建造者) —...转载 2018-04-13 11:23:13 · 197 阅读 · 0 评论