随笔:64 文章:1 评论:59 阅读: 47057

07 2008 档案

 
14. Template Method模板方法(行为型模式)
摘要:无处不在的Template Method 如果你只想掌握一种设计模式,那么它就是Template Method! 变化——是软件设计的永恒主题,如何管理变化带来的复杂性?设计模式的艺术性和复杂度就在于如何分析,并发现系统中的变化点和稳定点,并使用特定的设计方法来应对这种变化。 动机(Motivation) 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构... 阅读全文
posted @ 2008-07-28 19:17 Cameo 阅读(249) 评论(0) 推荐(0) 编辑
13. Proxy代理(结构型模式)
摘要:直接与间接 人们对于复杂的软件系统常常有一种处理手法,即增加一层间接层,从而对系统获得一种更为灵活、满足特定需求的解决方案。 动机(Motivation) 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。 如何在不失去透明操作对象的同时来管理... 阅读全文
posted @ 2008-07-25 11:29 Cameo 阅读(236) 评论(0) 推荐(0) 编辑
12. Flyweight享元(结构型模式)
摘要:面向对象的代价 面向对象很好地解决了系统抽象性的问题,同时在大多数情况下,也不会损及系统的性能。但是,在某些特殊的应用中下,由于对象的数量太大,采用面向对象会给系统带来难以承受的内存开销(拆箱操作)。比如图形应用中的图元等对象、字处理应用中的字符对象等。 动机(Motivation) 采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行时代价——主... 阅读全文
posted @ 2008-07-20 10:43 Cameo 阅读(261) 评论(0) 推荐(0) 编辑
11. Facade外观[门面模式](结构型模式)
摘要:意图(Intent) 为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 ——《设计模... 阅读全文
posted @ 2008-07-16 11:08 Cameo 阅读(1340) 评论(1) 推荐(0) 编辑
10. Decorator 装饰(结构型模式)
摘要:动机(Motivation) 上述描述的问题根源在于我们“过度地使用了继承来扩展对象的功能”,由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀(多继承)。 如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导... 阅读全文
posted @ 2008-07-04 13:38 Cameo 阅读(334) 评论(0) 推荐(0) 编辑
9. Composite 组合(结构型模式)
摘要:面向对象有一个原则:接口最小化原则.(我们应该把我们对象里尽可能少的接口暴露给外界(一般只暴露业务业务接口)) |内部实现,和内部实现细节的接口不要暴露给客户. 面向对象和设计模式解决的是依懒问题. 动机(Motivation) 上述描述的问题根源在于:客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代... 阅读全文
posted @ 2008-07-01 18:42 Cameo 阅读(346) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示