![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
lazy_man36
来自同济大学软件学院
展开
-
继承、组合、委托
软件设计模式中,有很多经典模式,今天从最基本的继承、组合、委托开始研究(Inheritance、Composition、Delegation)。一、继承(Inheritance) 简单来说,继承就是在原有类A的基础上,新建一个类B,不过新建的类B是在A的基础上,继承父类(A)的属性以及方法。该模式是面相对象的基础。 通俗来讲,组合就是将一个庞大的整体拆开成多个小零件,每个小零件自成一个类,最终在这个整体框架类中将这些零件类对象组合进去。 组合与继承相比而言,继承是类的继承,而组合是对象原创 2014-04-13 12:26:55 · 3816 阅读 · 0 评论 -
Template Method
定义算法主干,延缓其中某些步骤,使它们在subclass中才获得真正的定义,Template methos使subclass得以重新定义算法内的某些动作,而不需要改变算法的总体结构。Template Mtehod是通过继承实现的,在父类中指定 行事大纲,而在子类中说明具体要干什么。原创 2014-04-13 12:58:11 · 1051 阅读 · 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 · 1045 阅读 · 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 · 1391 阅读 · 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 · 829 阅读 · 0 评论