摘要:
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。UML:Client:客户端Handler: 抽象处理者:定义出一个处理请求的接口。如果需要,接口可以定义出一个方法以设定和返回对下家的引用。这... 阅读全文
摘要:
装饰着模式装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。案例有这样一个项目,做一个餐厅订餐系统。起初的代码结构是这样的。前面有很多Beverage的继承类,现在遇到的问题是牛奶的价钱上涨了,那么所有相关的类,我们都要进行调整,比如Milk,SugarAndM... 阅读全文
摘要:
观察者模式:定义对象的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。设计原则:在观察者模式中,会改变的是主题(被观察者)的状态以及观察者的数目。用这个模式,你可以改变依赖于主题状态的对象,却不必改变主题。——找出程序中会变化的方面,然后将其和固定不变的方面相分离!... 阅读全文
摘要:
策略模式帮助构建的对象不必自身包含逻辑,而是能够根据需要利用其他对象中的算法。将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。使用场景:一个电商网站的广告位要根据性别展示不同的广告,硬编码的话就是if(男士){}else(女士){},使用策略模式可以避免在类中出现逻辑判断。一个数据输出类... 阅读全文