2017年4月5日

设计模式5:工厂方法模式

摘要: 在之前提到的简单方法模式中,如果需要给计算器添加一种运算,需要增加一个Operation子类,然后修改工厂类。 这样的设计一方面简化了客户端的修改,另一方面需要修改工厂类,这是违反开放-封闭模式的。 处理这种问题的另一种方法是工厂方法模式。 工厂方法模式克服了违反开放-封闭的缺点,同时保持了封装对象 阅读全文

posted @ 2017-04-05 22:26 一个后端狗 阅读(279) 评论(0) 推荐(0)

设计模式4:代理模式

摘要: 当客户端代码直接访问对象存在某些问题时,我们会考虑在对象和客户端代码之间加一个访问层,也就是代理模式。 代理模式为其他对象提供一种代理以控制对这个对象的访问。 来看UML图: 代理类与真实类共同实现了相同的接口,这样做可以控制特定方法的输入输出一致。 代理类包含了真实类作为其成员变量。 来看代码: 阅读全文

posted @ 2017-04-05 21:22 一个后端狗 阅读(140) 评论(0) 推荐(0)

设计模式3:装饰模式

摘要: 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生成子类更为灵活。 主要解决:一般的,我们为了扩展一个类经常使用继承方式实现,由于继承为类引入静态特征,并且随着扩展功能的增多,子 阅读全文

posted @ 2017-04-05 21:11 一个后端狗 阅读(187) 评论(0) 推荐(0)

导航