【设计模式】基础概念

    最近在学习《设计模式》这本书,想通过设计模式来对自己的开发代码的健壮性、预见性有一定的提升。一个架构总是有缺点的,随着时间的推移,其缺点会被放大,但是用设计模式可以让缺点恒定,并且不至于让架构推倒重来。

一.常见的重新设计原因:

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:某些可作用于一个(组)对象上的操作,但不修改这些对象的类。

五.怎样使用设计模式

关于设计模式,如果不提一下它们的使用限制,那么关于怎样使用它们的讨论就不完整。设计模式不能够随意使用。通常你通过引入额外的间接层次获得灵活性和可变性的同时,也使设计变得更复杂和/或牺牲了一定的性能。一个设计模式只有当它提供的灵活性是真正需要的时候,才有必要使用。当衡量一个模式的得失时,它的效果部分是最能提供帮助的。

基础知识介绍完了,下面要去从不同的设计模式逐一学习

posted @ 2022-02-28 20:59  星星客  阅读(48)  评论(0)    收藏  举报