
设计模式
lazy_man36
来自同济大学软件学院
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
继承、组合、委托
软件设计模式中,有很多经典模式,今天从最基本的继承、组合、委托开始研究(Inheritance、Composition、Delegation)。 一、继承(Inheritance) 简单来说,继承就是在原有类A的基础上,新建一个类B,不过新建的类B是在A的基础上,继承父类(A)的属性以及方法。该模式是面相对象的基础。 通俗来讲,组合就是将一个庞大的整体拆开成多个小零件,每个小零件自成一个类,最终在这个整体框架类中将这些零件类对象组合进去。 组合与继承相比而言,继承是类的继承,而组合是对象原创 2014-04-13 12:26:55 · 3975 阅读 · 0 评论 -
Template Method
定义算法主干,延缓其中某些步骤,使它们在subclass中才获得真正的定义,Template methos使subclass得以重新定义算法内的某些动作,而不需要改变算法的总体结构。 Template Mtehod是通过继承实现的,在父类中指定 行事大纲,而在子类中说明具体要干什么。原创 2014-04-13 12:58:11 · 1101 阅读 · 0 评论 -
Composite
Composite 一、定义: Compose objects into tree structures to represent part-whole hierarchies.Composite let clients treat individual objects and compositions of objects uniformly. 将物件组成/构成树状结构,用以表示“局部-全部”的阶层体系。Composite可以让client以一致的方式对待个别物件和合成物件。原创 2014-04-13 18:03:39 · 1098 阅读 · 0 评论 -
Decorate
一、定义: Attach additional responsibilities to an object dynamically.Decorators provide a flexible alternative to subclassing for extending functionality. 将额外的功能以动态的方式附于某物件身上,使不必进行subclassing就能扩展功能。 二、使用 Decorate的实质是将某一对象拿出来,在别的类中扩展,添加附加功能,再在调用类中调用,相当于拿来一个装饰过原创 2014-04-13 18:48:31 · 1448 阅读 · 0 评论 -
Observer
一、定义: Define a one-to-many dependency between objects so that when one object changes state,all its dependents are notified and updated automatically. 在objects之间定义“一对多”的依存性,使得当object改变状态时,它所依存的所有objects都会得到通知并自行更新。 Observer是被动的被通知,而不是主动更新。 二、使用 简单来讲,Observ原创 2014-04-14 10:43:30 · 863 阅读 · 0 评论