随笔分类 - Design Patterns
摘要:概念: 解释器模式:Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in t
阅读全文
摘要:概念: 状态模式:Allow an object to alter its benhavior when its internal state changes. The object will appear to change its class. 当一个对象内在状态改变是允许改变行为,这个对象看起
阅读全文
摘要:概念: 访问者模式:Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the
阅读全文
摘要:概念: 备忘录模式:Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.
阅读全文
摘要:概念: 观察者模式:Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notifued and updated automatic
阅读全文
摘要:概念: 中介者模式:Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each
阅读全文
摘要:概念: 迭代器模式:Provide a way to access the elements of an aggregarte object sequentiaally with exposing its underlying representation. 提供一种访问容器对象内每个元素的一种方式
阅读全文
摘要:概念: 策略模式:Define a family of algorithms, encapsulate each one, and make them interchangeable. 定义一组算法,封装每个算法,并使他们之间可以互相转换。实现: 抽象的策略类 具体的策略实现类 总的调用类 测试及结
阅读全文
摘要:概念: 责任链模式:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receivering
阅读全文
摘要:概念: 命令模式:Encapsulates a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support und
阅读全文
摘要:概念: 模版方法模式:Define the skeleton of an algoritm in an operation, deferring some step to subclasses. Template Method lets subclasses redefine certain ste
阅读全文
摘要:概念: 享元模式:Use sharing to support large numbers of fine-gained object efficiently.使用享元模式可以有效地支持大量的细粒度额对象。这中英文翻译过来的定义,是不是看的一头雾水。简单来说就是结合工厂模式的对象池。看代码,其实倒不
阅读全文
摘要:概念: 外观模式:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式提供一个高层次的接口使得子系统更容易使用。看着概念好像很唬人的,看到代码,你会觉得过于简单,没意思。 实现: 规定子系统 对外实现 分析: 1.这么简单的,我觉得没有必要在写测试和结果了。大概说一下,就是本来如果
阅读全文
摘要:概念: 桥梁模式:将抽象解藕,使得这两个能独立的变化。桥梁模式也叫桥接模式。 实现: 定义材质 材质的两种实现 定义抽象类型的书 抽象书的两种实现 测试与结果 测试 结果 小说都用A4来制作。 工具书都是A4制作的 工具书都是A8制作的分析: 1.看着代码应该就很好理解,有没有一种感觉,抽象类是此岸
阅读全文
摘要:概念: 组合模式:将对象组合成属性结构,以表示“部分——整体“的层次结构,是的用户对单个对象和组合对象的使用具有一致性。实现: 定义一个书架 定义一个存放书的空间 要被存放的书 分析: 1.其实这个倒不是很难,但是理解起来不是那么直观,可能因为类名会影响思维逻辑,但不影响用文字描述,方便理解: a.
阅读全文
摘要:概念: 适配器模式:讲一个类的接口变换成客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。其实也就是概念看上去有点吓人,但其实这是最简单的模式了。实现: 一个类的接口 一个与接口无关的类 适配器(因接口不匹配而无法在一起工作的两个类能够在一起工作) 分析: 1.
阅读全文
摘要:概念: 装饰模式:动态的为一些对象添加一些职责。即就是动态的为一些对象添加一些方法。实现: 定义作者接口 小说作家类 装饰者接口 小说装饰者 分析: 1.有没有一种感觉,这玩意儿和静态代理没啥区别啊。其实差别是不大,都是为了添加职责,但有一种场景会将你分清楚两者的区别,也算是这两者的本质区别。如果一
阅读全文
摘要:概念: 代理模式:为其他对象提供一种代理,以控制对这个对象的访问。 在代理模式中又分为两种:静态代理和动态代理。代理模式一般默认指静态代理模式。 静态代理模式:该类型有具体的实现,即就是存在该类型的class文件。 动态代理模式:及就是只有接口规范,没有具体的实现。也不存在class文件。 实现:
阅读全文
摘要:概念: 原型模式:使用原型实例指定要创建对象的类型,并通过复制此原型创建新的对象。这句话怎么这么绕呢?没办法英文翻译过来就这样,那是个什么意思呢?简单来说,就是我们定义一个类型,给这个类型一个实例化对象,然后就可以用这个对象去复制新的对象了。 原型模式一般来说分为两种:浅克隆模式和深克隆模式。之所以
阅读全文
摘要:概念: 建造者模式:将一个结构的建造和它的表示分离,使得同样的建造过程可以创建不同的表示。 实现: 定义书籍接口: 书籍类别:(小说类书籍、工具类书籍...) 定义创建者接口: 创建者类别: 分析:通过代码可以简单的分析一下,有没有一种很熟悉的感觉,但又好像觉得不一样,这就对了,设计模式中很多都是这
阅读全文

浙公网安备 33010602011771号