![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
cczakai
这个作者很懒,什么都没留下…
展开
-
设计模式
[color=red]设计模式[/color] [color=red]为什么要使用设计模式?[/color] 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样...2010-09-14 09:58:52 · 71 阅读 · 0 评论 -
原型模式
原型模式 需要实现ICloneable接口 1、不用重新初始化对象,而是动态地获得对象运行时的状态。 2、隐藏对象创建的细节,省略了构造函数的初始化,性能也大大提高了。 MemberwiseClone(): 创建当前对象的浅表副本。方法是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是引用类型,则复制引用但不复制引用的对象。 Clo...原创 2011-02-25 17:04:33 · 68 阅读 · 0 评论 -
策略模式
1、策略模式 策略模式封装变化,在实践中,可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以采用策略模式来处理这种变化的可能性。 上下文Context 策略接口 策略实现 往往相关的还可以采用结合工厂模式来处理 ...原创 2011-02-28 08:22:10 · 64 阅读 · 0 评论 -
状态模式
当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,可以使用状态模式。 状态模式通过把各种状态转移逻辑分布到State的子类之间,来减少相互间的依赖。同时对各种状态进行抽象成一个接口。 比如工作状态: 上午工作精神饱满,中午工作犯困了,下午工作精神恢复,晚上工作很累。 工作状态可能还会扩展,比如,晚上到点必须回家了。 这时候GOF ...原创 2011-02-28 09:01:25 · 67 阅读 · 0 评论 -
组合(合成)与聚合PK
聚合:表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象一部分。 顾名思意:聚合一般重点在聚,相当于List(Object)《》---》Object 组合:表示一种强的拥有关系,体现整体与部分的关系,部分与整体周期一样。 雁群------------->燕 List(Object)《》---》Object 燕-...原创 2011-03-01 12:04:36 · 132 阅读 · 0 评论 -
代理模式与装饰模式PK
代理模式:比如你就是代理,那你就该执行你代理角色的 职能。我们可以在执行角色职能先后,可以按自己想法去做,比如dobefore,doafter。 装饰模式:不要你去代理,而是你去装饰。让你去保持类的本来职责的同时,动态增加新的变化。 装饰设计与代理设计完全不一样,可能从字面我们可以发现其实可以替换的,但意义完全不一样了。我们不是过程化,要OO思想,所以一些场景包括设计思想要...原创 2011-03-03 11:45:02 · 74 阅读 · 0 评论 -
观察者模式
[url]http://www.iteye.com/topic/102068[/url]原创 2011-03-03 17:20:25 · 72 阅读 · 0 评论