随笔分类 - 设计模式
摘要:初识组合模式 定义 将对象组合成树形结构以表示“部分 整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 结构和说明 ![image_1cfkfsv2n11du17bgqnani91n9l9.png 63.5kB][1] Component:抽象的组件对象,为组合中的对象声明接
阅读全文
摘要:初识观察者模式 定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 结构和说明 ![image_1cih7tcade8smpch4u1i7p10ut9.png 68.3kB][1] Subject: 目标对象,通常具有如下功能: (1)一个
阅读全文
摘要:迭代器模式 标签: 设计模式 初识迭代器模式 定义 提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示 。 结构和说明 ![image_1cihcf6941lqc1li04991k4fko9.png 64.9kB][1] Iterator: 迭代器接口。定义访问和遍历元素的接口
阅读全文
摘要:中介者模式 标签 : 设计模式 初识中介者模式 定义 用一个中介对象来封装一系列的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立的改变它们之间的交互。 结构和说明 ![image_1cichf9j215a4eatf87cma7sm9.png 86.7kB][1] Me
阅读全文
摘要:定义 为其它对象提供一种代理以控制对这个对象的访问。 结构和说明 Subject:目标接口,目标对象和代理对象都要实现此接口,这样就可以在任何使用目标对象的地方使用代理对象。 RealSubject:具体的目标对象,实现了目标接口。 Proxy:代理对象,实现与具体的目标对象一样的接口;保存一个指向
阅读全文
摘要:装饰者模式 标签 : 设计模式 什么是装饰者模式 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰者模式比生成子类更为灵活。 体会装饰者模式 ![image_1chieqtsf1gg71c1kqh7tpr1g7r9.png 78.4kB][1] 1. Component:组件对象的接口,可以
阅读全文
摘要:生成器模式 标签 : 设计模式 初识生成器模式 定义 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 结构和说明 ![image_1cf2nei5jou68e915eg13oouvk9.png 51.3kB][1] Builder:生成器接口,定义创建一个Product对
阅读全文
摘要:策略模式 标签 : 设计模式 [配套源码github地址][1] 初识策略模式 定义 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 结构和说明 ![image_1cevrso221hjvm881a0c15d51nse9.png 67.5kB
阅读全文
摘要:模板方法模式 标签: 设计模式 [github地址][1] 初识模板方法模式 定义 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 结构和说明 ![2018 06 01_185609.png 19kB][2] Abstr
阅读全文
摘要:原型模式 标签(空格分隔): 设计模式 什么是原型模式 Prototype模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。 原型模式的特点 1. 由原型对象自身创建目标对象。也就是说对象创建这一个动作发自原型对象本身。
阅读全文
摘要:抽象工厂模式 标签(空格分隔): 设计模式 什么是抽象工厂模式 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。 模式中包含的角色及其职责 1. 抽象工厂角色:抽象工厂模式的核心
阅读全文
摘要:工厂方法模式 标签: 设计模式 什么是工厂方法模式 工厂方法模式属于类的创建型模式,又被称为多态工厂模式。工厂方法模式定义了一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是
阅读全文
摘要:简单工厂模式 标签(空格分隔):设计模式 什么是简单工厂模式 简单工厂模式属于类的创建性模式,又叫作静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 简单工厂模式中包含的角色及其职责 
浙公网安备 33010602011771号