概述
1.什么是设计模式?
基本概念:设计模式(Design Pattern)是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。使用设计模式是为了提高代码的重用性,是代码更易理解并保证代码的可靠性。设计模式是软件工程的基石脉络,如同大厦的结构一样。
设计模式贯彻的原理是:面向接口编程,而不是面向实现;
其目标原则是:高内聚(Cohesion)和低耦合(Coupling)
1.1 什么是面向接口编程,是面向实现?
举个例子,假设有两种品牌的轮胎,普利司通(Bridgestone)和米其林(Michelin),而轮胎的共同特性都是会转(roll)。那么我们可以得到两个类:
面向实现编程:
面向接口编程:
如果将这两种轮胎的共同特性提取出来,在转动轮胎的时候,只关注“是轮胎”本身,而不去了解“是什么品牌的轮胎”,问题就迎刃而解了。
1.2 高内聚(Cohesion)和低耦合(Coupling)?
一、什么是耦合度
耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。耦合的强度依赖于以下几个因素:
(1)一个模块对另一个模块的调用;
(2)一个模块向另一个模块传递的数据量;
(3)一个模块施加到另一个模块的控制的多少;
(4)模块之间接口的复杂程度。
二、什么是内聚性
内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
三、目的
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。举个例子:修计算机容易还是修收音机容易?
1.3 设计模式分类
设计模式的分类:Gang of Four的“Design Patterns: Elements of Resualbel Software”书将设计模式归纳为三大类型,共23种设计模式。
1.4 设计模式规则
设计模式基本原则:最终目的:高内聚,低耦合
1) 开放封闭原则:类的改动是通过增加代码进行的,而不是修改源代码。
2) 单一职责原则 :类的职责要单一,对外只提供一种功能,而引起类变化的原因都应该只有一个。
3) 依赖倒置原则:依赖于抽象(接口),不要依赖具体的实现(类),也就是针对接口编程。
4) 接口隔离原则:不应该强迫客户的程序依赖他们不需要的接口方法。一个接口应该只提供一种对外功能,不应该把所有操作都封装到一个接口中去。
5) 里氏替换原则:任何抽象类出现的地方都可以用他的实现类进行替换。实际就是虚拟机制,语言级别实现面向对象功能。
6) 优先使用组合而不是继承原则:如果使用继承,会导致父类的任何变换都可能影响到子类的行为。如果使用对象组合,就降低了这种依赖关系。
7) 迪米特法则:一个对象应当对其他对象尽可能少的了解,从而降低各个对象之间的耦合,提高系统的可维护性。例如在一个程序中,各个模块之间相互调用时,通常会提供一个统一的接口来实现。这样其他模块不需要了解另外一个模块的内部实现细节,这样当一个模块内部的实现发生改变时,不会影响其他模块的使用。(黑盒原理)。
有些内容是从其他一些博客上整理的,并非原著!
转载于:https://www.cnblogs.com/yzdai/p/9782906.html
最后
以上就是辛勤冥王星为你收集整理的设计模式笔记的全部内容,希望文章能够帮你解决设计模式笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复