从今天正式开始我的设计模式简单学习之旅。感谢我副班长推荐的博客,决定先看博客总结一下博客学到的。
开始概述,只要干货
*****************************************************************************************************************
什么是模式?
每个模式都描述了一个我们的环境中不断出现的问题,然后描述了该问题的而解决方案的核心, 通过这种方式,我们可以无数次的重用这些已有的成功的解决方案,无须再重复相同的工作。模式是在特定环境下人们解决某类重复出现问题的一套成功的有效的解决方案
为什么产生了设计模式?
设计模式用于在特定的条件下为一些重复出现的软件设计问题提供合理的有效的解决方案
设计模式是什么?
设计模式是一套被反复使用、多数人知道的、经过分类编目的、代码设计经验的总结,使用设计,模式是为了可重用代码,让代码更容易被他人理解并且保证代码的可靠性
******************************************************************************************************************
设计模式包括:
(1)模式名称:通过一两个词来描述模式的问题,解决方案和效果,以便更好的理解模式并方便开发人员之间的交流
(2)问题:藐视了应该在何时使用模式,它包含了设计中存在问题以及问题存在的原因
(3)解决方案:描述了一个设计模式的组成部分,以及这些组成成分之间的相互关系各自的职责
和协作方式,通常解决方案用UML类图和核心代码来描述
(4)效果:描述了模式的优缺点以及在使用模式时应权衡的问题
******************************************************************************************************************
设计模式分类(按用途):
(1)创建型模式:如何创建对象
(2)结构型模式:描述如何实现类或对象的组合
(3)行为型模式:描述类或对象怎样交互以及怎样分配职责
每种设计模式又可分为:
类模式和对象模式
******************************************************************************************************************
创建型模式:
简单工厂模式,单例模式,工厂方法模式,抽象工厂模式,原型模式,建造者模式
结构型模式:
适配器模式,桥接模式,组合模式,装饰模式,外观模式,享元模式,代理模式
行为型模式:
职责链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式