摘要:
decorator(装饰)——对象结构型模式1.意图动态地给一个对象添加一些额外的职责,就功能来说,decorator比生成子类更灵活2.别名包装器wrapper3.动机有时候我们希望给某个对象而不是整个类添加一些功能。使用继承机制是添加功能的一种有效途径,但是不够灵活,因为用户不能控制对组件增加功能的时机和方式。一种比较灵活的方式就是把一个组件嵌入到另一个对象中,由这个对象来增加新的功能。我们称这个嵌入的对象为装饰,这个装饰与他所装饰的组件接口一致,因此它对使用该组件的客户透明。它将客户的请求转发给该组件,并且可能在转发前后执行一些额外的动作。透明性可以使你递归嵌套多个装饰。4.适用性1)在 阅读全文
posted @ 2012-05-19 22:09
w0w0
阅读(297)
评论(0)
推荐(0)
摘要:
composite(组合)——对象结构型模式1.意图将对象组合成树形结构以表示“部分-整体”的层次结构,composite使得用户对单个对象和组合对象的使用具有一致性。2.动机用户可以组合多个简单组件以形成一些较大的组件,这些组件又可以组合成更大的组件。如果这些类的代码必须区分简单组件和容器,那么就会使程序更加复杂,而大多数情况下用户认为他们是一样的,composite模式描述了如何使用递归组合,使得用户不必对这些类进行区别。3.适用性你想表示对象的部分-整体层次结构你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象4.结构参考:http://www.cnblogs. 阅读全文
posted @ 2012-05-19 20:27
w0w0
阅读(325)
评论(0)
推荐(0)
摘要:
bridge(桥接)——对象结构型模式1.意图将抽象部分与它的实现部分分离,使他们都可以独立的变化2.别名handle/body3.动机当一个抽象可以有多个实现时,通常用继承来协调他们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是此方法有时候不够灵活,继承机制将抽象部分和实现部分固定在一起,难以独立进行修改扩充和重用。bridge将抽象和实现分开,在中间起到了桥梁的作用,使他们可以独立变化。4.适用性1)你不希望在抽象和实现部分之间有一个固定的绑定关系,在程序运行时刻实现部分应该可以被选择或者切换。2)类的抽象以及他的实现部分都应该可以通过生成子类的方法加以扩充。3)对一个 阅读全文
posted @ 2012-05-19 17:46
w0w0
阅读(277)
评论(0)
推荐(0)
摘要:
结构型模式:结构型模式设计到如何组织类和对象以获得更大的结构。结构型类模式:采用继承机制来组合接口或实现。简单的例子是采用多重继承,这一模式尤其有助于多个独立开发的类库协同工作。结构型对象模式:不是对接口和实现进行组合,而是描述了如何对一些对象进行组合,从而实现新功能的一些方法,因为可以在运行时刻改变对象组合关系,所以有更大的灵活性。Adapter(适配器)——类对象结构型模式1.意图将一个类的结构转换成客户希望的另外一个接口。adapter模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。2.别名包装器wrapper3.动机有时候,为了复用而设计的工具想不能够被复用的原因仅仅是 阅读全文
posted @ 2012-05-19 10:41
w0w0
阅读(355)
评论(0)
推荐(0)
浙公网安备 33010602011771号