摘要:
装饰者模式:动态地将责任附件到对象上。若要扩展功能,装饰者提东了比继承更有弹性的替代方案。装饰者和被装饰对象有相同的超类型你可以用一个或者多个装饰者包装一个对象。既然装饰者和被装饰对象有相同的超类型,所以在任何需要原始对象(被包装的)的场合,可以用装饰过的对象代替它。装饰者可以在所委托被装饰者的行为前与/或之后,加上自己的行为,已达到特定的目的。对象可以在任何时候被装饰,所以可以在运行时动态地、不限量地用你喜欢的装饰者来装饰对象设计原则:类应该对扩展开放,对修改关闭(开放-关闭原则)。遵循开放-关闭原则,通常会引入新的抽象层次,增加代码的复杂度。你需要把注意力集中在设计中最有可能改变的地方,然 阅读全文
摘要:
观察者模式:定义了对象之间一对多的依赖关系,这样一来,当一个对象的状态发生改变时,它的依赖者将会受到通知并且自动更新。有一个模式可以帮你的对象知悉现况,不会错过该对象感兴趣的事,对象甚至在运行时可以决定是否要继续被通知---这就是观察者模式。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。设计原则:为了交互对象之间的松耦合设计而努力。要点:观察者模式定义了对象之间的一对多关系。主题使用一个共同的接口来更新观察者。观察者和主题之间用松耦合的方式结合,主题不知道观察者的细节,只知道观察者实现了观察者接口。使用此模式你可以从主题出“推”或者“拉”数据(然而,推的方式被认为更“正确”)。有多个 阅读全文