【设计模式】基础概念
最近在学习《设计模式》这本书,想通过设计模式来对自己的开发代码的健壮性、预见性有一定的提升。一个架构总是有缺点的,随着时间的推移,其缺点会被放大,但是用设计模式可以让缺点恒定,并且不至于让架构推倒重来。
一.常见的重新设计原因:
1.通过显示地指定一个类来创建对象。
2.对特殊操作的依赖。
3.对硬件和软件平台的依赖。
4.对对象表示或实现的依赖。
5.算法依赖。
6.紧耦合。
7.通过生成子类来扩充功能。
8.不能方便地对类进行修改。
二.应用程序、工具箱、框架。
三.怎样选择设计模式
1.考虑设计模式是怎样解决设计问题的。
2.浏览模式的意图部分。
3.研究模式怎样互相关联。
4.研究目的相似的模式
5.检查重新设计的原因。
6.考虑你的设计中哪些是可变的。
四.设计模式所支持的设计的可变方面。
创建:1.Abstract Factory :产品对象家族。
2.Builder : 如何创建一个组合对象。
3.Factor Method :被实例化的子类。
4.Prototype:被实例化的类
5.Singleton:一个类的唯一实例
结构:1.Adapter:对象的接口
2.Bridge:对象的实现
3.Composite:一个对象的结构和组合
4.Decorator:对象的职责,不生成子类
5.Facade:一个子系统的接口
6.Flyweight:对象的存储开销。
7.Proxy:如何访问一个对象;该对象的位置。
行为:1.Chain of Responsibility: 满足一个请求的对象。
2.Command:何时、怎样满足一个请求。
3.Interperter:一个语言的文法及解释。
4.Iterater:如何遍历、访问一个聚合的各元素
5.Mediator: 对象间怎样交互、和谁交互。
6.Memento: 一个对象中哪些私有信息存放在该对象之外,以及在什么时候进行存储。
7.Observer:多个对象依赖于另外一个对象,而这些对象又如何保持一致。
8.State:对象的状态。
9.Strategy:算法。
10.Template Method:算法中的某些步骤。
11.Visitor:某些可作用于一个(组)对象上的操作,但不修改这些对象的类。
五.怎样使用设计模式
关于设计模式,如果不提一下它们的使用限制,那么关于怎样使用它们的讨论就不完整。设计模式不能够随意使用。通常你通过引入额外的间接层次获得灵活性和可变性的同时,也使设计变得更复杂和/或牺牲了一定的性能。一个设计模式只有当它提供的灵活性是真正需要的时候,才有必要使用。当衡量一个模式的得失时,它的效果部分是最能提供帮助的。
基础知识介绍完了,下面要去从不同的设计模式逐一学习

浙公网安备 33010602011771号