设计模式——基本概念
2016-04-30 21:36
295 查看
什么是设计模式
设计模式是方法论,是问题的解决方案,且该问题是我们在开发中经常会遇到的问题。设计模式将解决该问题方法的步骤,以及共性的问题全部抽象出来。当我们再遇上此类问题时,仅需重用该设计模式即可。设计模式有七大原则,分三大类,共二十三种。设计模式的七大原则
开闭原则: OCP,Open Close Principle,为总原则。面向抽象编程时,对标准的扩展开放,对实现的修改关闭。在面向接口或抽象类编程的时候,会使用此原则。单一职责原则:指一个类只做一件事,不能存在导致该类变更的第二件事,否则要拆分此类。仅将与此事相关的操作放到此类,从而达到高内聚低耦合,减少引起变化的原因。
里氏替换原则: Liskov Substitution Principle。程序中基类出现的地方,必须可以使用子类来替换,是对OCP的补充。
依赖倒转原则: Dependence Inversion Principle。面向抽象编程,而不是面向具体。具体依赖于抽象,而不是抽象依赖具体。编程时不要与具体进行交互,而是与具体的上层接口或抽象类交互。
接口隔离原则: Interface Segregation Principle。使用多个小的专门的接口,而不要使用一个大的总的接口。接口中不能存在针对当前业务子类用不到的方法。
最少知道原则:又叫迪米特法则,Demeter Principle。一个类对自己依赖的类知道的越少越好。被依赖的类无论多么复杂,都应该尽量将自己的逻辑封装在自己的内部,仅将必要的逻辑通过public接口提供给外部。保证当被依赖的类发生变化时,最低限度的影响到依赖该类的类。
合成复用原则: Composite Reuse Principle。优先使用对象组合的方式来进行编程,而不是继承的方式。
设计模式的分类
创建型模式:用于创建对象的方法。
工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。
结构型模式:
描述如何将类或对象结合在一起,形成一个更大的结构。
适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。
行为型模式:
用来在不同对象之间划分职责和算法的抽象,不仅涉及到类和对象,还涉及到类与对象之间如何进行关联。
策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,中介者模式,解释器模式。
其它:
并发型模式,线程池模式。
相关文章推荐
- Jenkins中使用POP3协议邮件配置
- 一起talk C栗子吧(第一百三十九回:C语言实例--文件操作:基于文件描述符二)
- 数组和vector
- Python程序的执行原理
- Jquery中表单事件
- 企业数据库服务器高效存储方案
- IronPython调用C# DLL函数方法
- 我是如何走上Android开发的道路的
- Leetcode 题目分类
- UVa 514 Rails
- PHP生成xml的方法
- iOS小demo之跳转到特定页面
- PHP session锁
- AC自动机
- Android事件分发——View篇
- Qt的json解析
- MyBaits-快速入门
- 天线资识介绍
- [最短路] [SPFA] [省选] HLOI2015 Magic
- DigCtr TJ