前言
个人认为设计模式的学习,重要的是学习其思想,而应该突破gof有形的条条框框,把想法融合到自己的实际应用中去,
同时有好的变通那就更好了
笔记
1. 状态模式(State)
书上解释:一个对象方法的结果依赖其条件的改变,也就是说一个类中的方法,要执行什么样的操作,就要根据其条件。应用于条件和操作不可预知的情况下,这样就可以把每一种情况所产生的操作,分别放于一个单独的类中,这样就比较有利扩展和后期的维护。同时也符合了开闭原则。这个给我的感觉有点类似策略模式(Strategy),不过策略模式注重的是算法。
例如:
书上说可以用于消除无效扩大的switch语句。
2适配器模式(Adapter)
这个概念理解起来简单,就是解决新旧功能(类)接口不一致的问题,使其能够对接,通常用于软件使用后的维护阶段。分成两种:类适配器和对象适配器,因为C#只能单类继承,所以就只介绍了对象适配器。手法主要是新建一个适配类(继承了新接口)合成原来需要的适配的类。为什么要用适配器模式,我推测应该是旧功能可能在系统中很多地方应用,但是新功能也要用到(在不想影响到原来其它功能使用),同时又需要处理一下,在这样的情况,通过建立适配类来达到目的。有点装饰的味道,也符合了开闭的原则。
代码如下:
.net framework 中DataAdapter使用了这个。
后记
本人学习中,欢迎批评指正。上面两个模式用的比较少。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:《大话设计模式》笔记五 - Python技术站