设计模式
文章平均质量分 78
whw6_faye
这个作者很懒,什么都没留下…
展开
-
设计模式 - 单例模式
1. 意图保证一个类仅有一个实例,并提供一个访问它的全局访问点2. 适用性在下面的情况下可以使用Singleton模式当类只能有一个实例而且客户可以从一个众所周知的访问点访问它是。当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。讨论1. 为什么是Singleton模式而不是用静态方法?考虑以下代码原创 2013-01-28 15:07:09 · 467 阅读 · 0 评论 -
设计模式 - 适配器(Adapter)
1. 意图将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2. 别名包装器 Wrapper3. 动机为复用设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配4. 适用性以下情况使用Adapter模式你想使用一个已经存在的类,而它的接口不符合你原创 2013-04-25 11:43:09 · 922 阅读 · 0 评论 -
设计模式 - 装饰 Decorator
1. 意图动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式比生成子类更为灵活。2. 别名包装器 Wrapper3. 动机给某个对象而不是整个类添加一些功能。4. 适用性在不影响其他对象的情况下,以动态,透明的方式给单个对象添加职责。处理那些可以撤销的职责。当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量原创 2013-03-24 15:53:36 · 789 阅读 · 0 评论 -
设计模式 - 桥接模式(BRIDGE)
1. 意图将抽象部分与它的实现部分分离, 使它们可以独立地变化2. 别名Handle / Body3. 动机当一个抽象可能有多个实现时, 通常用继承来协调他们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。4. 适原创 2013-03-23 23:51:05 · 755 阅读 · 0 评论 -
设计模式 - 代理(Proxy)
1. 意图为其他对象提供一种代理以控制对这个对象的访问2. 别名Surrogate3. 动机对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。4. 适用性1) 远程代理(Remote Proxy) 为一个对象在不同的地址控件提供局部代表。2) 虚代理(Virtual Proxy) 根据需要创建开销很大的原创 2013-04-02 13:55:16 · 658 阅读 · 0 评论 -
设计模式 - 组合 Composite
1. 意图将对象组合成树形结构以表示“部分-整体” 的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。Composite模式的关键是一个抽象类,它既可以代表图元,又开始代表图元的容器。2.适用性在以下情况使用Composite模式你想表示对象的部分-整体层次结构你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。原创 2013-03-14 19:05:21 · 663 阅读 · 0 评论 -
设计模式 - 生成器 Builder
1. 意图将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2.适用性在以下情况使用Builder模式当创建复杂对象的算法应该独立与该对象的组成部分及他们的装配方式的时候当构造过程必须允许被构造的对象有不同的表示时3.结构图Builder 模式中主要有三个角色Director, Builder, Product抽象原创 2013-03-11 18:43:55 · 767 阅读 · 0 评论 -
设计模式 - 工厂方法
1. 意图定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。2.别名虚构造器 Virtual Constructor3. 适用性当一个类不知道它所必须创建的对象的类的时候当一个类希望由它的子类来指定它所创建的对象的时候当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类原创 2013-02-16 15:01:19 · 455 阅读 · 0 评论 -
设计模式 - 抽象工厂模式
1. 意图提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。别名 Kit设计模式一书中这个模式作为创建型模式的第一个模式出现,但是这个模式本身和Singleton(单例), Factory Method(工厂方法) 又有一定的关联性,所以建议可以先看这个模式,在看完单例和工厂方法模式后再回头看一遍抽象工厂会比较好。重点在于“一系列“这三个字,同时这些对象是原创 2013-02-07 16:12:38 · 468 阅读 · 0 评论 -
设计模式 - 外观(Facade)
1. 意图为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用2. 动机将一个系统划分为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。达到该目标的途径之一就是引入一个外观(facade)对象,它为子系统中较一般的设施提供了一个单一而简单的界面。3. 适用性原创 2013-05-27 17:50:05 · 991 阅读 · 0 评论