设计模式
文章平均质量分 88
幸福的小飞猪
这个作者很懒,什么都没留下…
展开
-
行为型(四) — 观察者模式
1、定义Define a one-to-many dependcy between objects so that when one object change state, all its dependents are notified and updated automaticallly.定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。2...原创 2018-06-24 18:10:41 · 156 阅读 · 0 评论 -
行为型(七)— 迭代器模式
1、介绍迭代器模式是最常用的几个模式之一,Java中的集合框架就是通过迭代器实现的。Provide a way to access the elements of aggregate object sequentially without exposing its underlying representation.提供一种方法访问一个容器对象中的各个元素,而又不暴露该对象的内部细节。2、使用场景...原创 2018-07-15 16:33:32 · 158 阅读 · 0 评论 -
行为型(六)— 模板方法模式
1、定义定义了一个操作中的算法的框架,而将一些布骤延迟到子类中。是的子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。2、使用场景多个子类有公共方法,并且逻辑基本相同可以把重复的、复杂的、核心算法设计为模板方法,周边的相关的代码抽到父类中3、UML类图角色说明:抽象模板(AbstractClass)角色:定义了一个或多个抽象操作,以便让子类实现。具体模板(ConcreteClass)角色...原创 2018-07-07 15:56:56 · 236 阅读 · 0 评论 -
行为型(五)— 备忘录模式
1、介绍备忘录模式用于保存对象的当前状态,并且在之后可以再次恢复到此状态。其实现方式是要被保存的对象状态不能被对象从外部访问,目的是为了保护被保存的这些对象状态的完整性,以及内部实现不向外部暴露。2、定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个对象,这样,以后就可以将该对象恢复到原先保存的状态。3、使用场景4、UML类图角色如下:发起人(Originator)角色:负...原创 2018-07-01 13:43:08 · 336 阅读 · 0 评论 -
创建型(三)—工厂模式
1、介绍工厂模式又叫虚拟构造函数模式或者多态性工厂模式。可分为简单工厂、工厂方法和抽象工厂模式。简单工厂: 一个工厂类处于对产品类实例化的中心位置上,它知道每一个产品,决定哪一个产品应当实例化。优点是允许客户端相对产品创建的过程,并在系统引入新产品时无需修改客户端,但需要修改工厂类,在某种程度上支持开闭原则,但支持力度不够。工厂方法:是简单工厂模式的进一步抽象和推广,在该模式中,核心工厂类不在负责...原创 2018-06-10 21:58:19 · 157 阅读 · 0 评论 -
行为型(三)— 责任链模式
1、介绍多个节点首尾相连多构成的模型称为链。将这种结构应用到编程领域,将每个节点看作是一个对象,将一个请求对链式的首端发出,沿着链的路径传递给每一个节点对象,直到有对象处理了该请求为止,这种模式称为责任链模式。2、定义Avoid coupling the sender of a request to its receiver by giving more than one object a cha...原创 2018-06-18 11:06:53 · 170 阅读 · 0 评论 -
行为型(二)—状态模式
1、介绍状态模式中的行为是由状态决定的,不同的状态有不同的行为。状态模式与策略模式的结构一样的,但它们的目的和本质不同,状态模式的行为是平行的,不可替换的,而策略模式的行为是对立的,可替换的。2、定义Allow an object to alter its behavior when its internal state changes. The object will appear to cha...原创 2018-06-17 22:53:38 · 128 阅读 · 0 评论 -
创建型(二)—原型模式
1、介绍Specify the kinds of Objects to create using a prototypical instance, and create new objects by copying this prototype. 意思是:用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。2、使用场景类的初始化需要消耗很多资源,包括数据、硬件等,通过原型拷贝可以避免这...原创 2018-06-10 12:09:39 · 202 阅读 · 0 评论 -
行为型(一)—策略模式
1、定义Define a family of algorithms, encapsulate each one, and make them interchangeable.定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。2、原创 2018-06-17 20:54:53 · 151 阅读 · 0 评论 -
创建型(一)—单例模式
1、介绍在开发过程中,发现有时整个系统只需要拥有一个全局对象,这就可以应用单例模式。例如:在应用中,应该只有一个ImageLoader实例,这个ImageLoader中含有线程池、缓存系统、网络请求等,构造多个实例资源消耗多。2、使用场景Ensure a class has only one instance,and provide a global of access to it.意思是: 确保...原创 2018-06-09 22:24:31 · 191 阅读 · 0 评论 -
创建型(五)—建造者模式
1、介绍2、定义3、使用场景4、UML类图5、示例6、总结原创 2018-06-16 23:43:06 · 125 阅读 · 0 评论 -
创建型(四)—抽象工厂模式
1、介绍Provide an interface for creating families of related or dependent objects without specifying their concrete classes.意思是:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。2、使用场景3、UML类图4、示例5、总结...原创 2018-06-16 17:05:50 · 124 阅读 · 0 评论 -
结构型(一)— 代理模式
结构型模式描述如何将类或者对象结合在一起组成形成更大的结构。结构型模式的目的是通过组合类或对象产生更大结构以适用更高逻辑的需求,包括以下7种模式:代理模式装饰模式适配器模式组合模式桥梁模式外观模式享元模式代理模式1、介绍Provide a surrogate or placeholder for another object to control access to it.为其他对象提供一...原创 2018-07-15 16:52:17 · 151 阅读 · 0 评论