您的位置:首页 > 其它

设计模式基本概念

2018-03-08 12:29 288 查看
/*
设计模式概述:
如果把修习软件开发当做武功修炼的话,那么可以分为招式和内功
招式:编程语言,开发工具,开发技术,框架技术。

内功:数据结构,算法,设计模式,重构,软件工程。

设计模式定义:
设计模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。

用大白话说:在一定环境下,用固定套路解决问题。
软件设计模式的种类:
GoF提出的设计模式公有23个,包括:
创建型模式:如何创建对象;
结构性模式:如何实现类或对象的组合;
行为型模式:类或对象怎样交互以及怎样分配职责。
有一个"简单工厂模式"不属于GoF23中设计模式,但大部分的设计模式书籍都会对它进行专门的介绍。

设计模式目前种类: GoF的23中 + "简单工厂模式" = 24种

设计模式的作用:
从高端来讲的话,那么作用大了去了,这里我们也体会不到,那么对于初学者来说,学习设计模式将有助于更加深入地理解面向对象思想,让你知道:
1.如何将代码分散在几个不同的类中。
2.为什么要有"接口"?
3.何谓针对抽象编程?
4.何时不应该使用继承?
5.如果不修改源代码增加新功能?
6.更好地阅读和理解现有类库与其他系统中的源代码。
学习设计模式会让你早点脱离面向对象编程的"菜鸟期"
如何学好设计模式:
 设计模式的基础是:多态
 多积累项目经验。
 面向对象设计原则
如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。
原则目的:高内聚,低耦合。
//一个类就做一个事情,降低类和类的联系是程序员的最高目标
单一职责原则:
类的职责单一,对外只提供一种功能,而引起变化的原因都应该只有一个

开闭原则:
类的改动是通过增加代码进行的,而不是修改源代码

里氏代换原则:
任何抽象类出现的地方都可以用他的实现类进行替换,实际就是虚拟机制,语言级别实现面向对象功能

依赖倒转原则:
依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程

接口隔离原则:
不应该强迫用户的程序依赖他们不需要的接口方法。一个接口应该只提供一种对外功能,不应该把所有操作都封装到一个接口中去。

合成复用原则:
如果使用继承,会导致父类的任何变换都可能影响到子类的行为。如果使用对象组合,就降低了这种依赖关系。对于继承和组合,优先使用组合。

迪米特法则:
一个对象应当对其它对象尽可能少的了解,从而降低各个对象之间的耦合,提高系统的可维护性。例如在一个程序中,各个模块之间相互调用时,通常提供一个统一的接口来实现。这样其他模块不需要了解另一个模块的内部实现细节,这样当一个模块内部的实现发生改变时,不会影响其他模块的使用。

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: