08 2016 档案
摘要:装饰者模式(Decorator):动态地将职责附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 UML如下: 按照《大话》的解释:Component定义了一个对象接口(超类型),可以给这些对象动态地添加职责。ConcreteComponent是一个具体的对象,接下来的实例代码主要给
阅读全文
摘要:一、观察者模式总览 观察者模式定义了对象之间的一对多依赖,让多个观察者对象同时监听一个主题对象,当主题对象改变状态时,它的所有依赖者都会收到通知并自动更新。 UML类图如下: Subject为主题抽象对象,Observer为观察者抽象对象,主题对象中规定了“订阅”、“取消订阅”、“通知”等必要的方法
阅读全文
摘要:策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 比如超市收银软件,针对超市的不同销售策略(打八折、满300减50等),需要运用不同的算法。策略模式就可以适用于这种场合。这里打折、满减等作为一个算法族,继承自同一的父类;这些算法作为程序中经常变化
阅读全文
摘要:学习设计模式的过程中,发现相关的作者们都会用UML类图来表示一个模式的整体脉络,这种方式确实直观明了,既能体现宏观思路、又能兼顾实现细节。真的是很妙的工具。在开始正式学习设计模式之前,有必要对UML有个大概的掌握。然后,日后有望解锁更多关于UML方面的技能,比如说:建模。哈哈,有点小兴奋呢。 UML
阅读全文