设计原则:应对系统可能需要的变化以及应付变化

2017-02-22  本文已影响0人  LemonCandy

1.找出变化,独立出来

2.针对接口编程,而非针对实现编程

即针对超类型编程,根据实际情况执行到真正的行为,变量的声明通常是一个超类型或一个接口,具体实现此超类型的类所产生的对象都可指定给此变量

3.多用组合,少用继承

4.交互对象之间的松耦合

即相互关联的对象不会因为自身的改变而影响对方

(1)策略模式:定义了算法族,将其封装,让它们之间可以互相替换,且让算法的变化独立于使用算法的客户。

StrategyPattern

总结:

a. 超类中定义子类中必须继承的变量或行为

b. 子类中有变化且不一定存在的行为抽象为一个接口

优点:

a. 可在运行时动态的改变行为

b. 当增加其它行为或类时无需对原有子类进行更改

适用实例:

游戏中角色(属性、技能):技能可能会改变

(2)观察者模式:在对象之间定义一对多的依赖,当一个对象改变状态时,依赖它的对象

ObservePattern(推式方式)

推式方式:

将所有数据推送给观察者

拉式方式:

为观察者提供主题的引用,由观察者自行取数据

具体应用:

JavaBeans、GMI

上一篇下一篇

猜你喜欢

热点阅读