我是靠谱客的博主 辛勤冥王星,最近开发中收集的这篇文章主要介绍设计模式笔记,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.什么是设计模式?

      基本概念:设计模式(Design Pattern)是一套被反复使用、多数人知晓、经过分类编目的优秀代码设计经验的总结。使用设计模式是为了提高代码的重用性,是代码更易理解并保证代码的可靠性。设计模式是软件工程的基石脉络,如同大厦的结构一样。

设计模式贯彻的原理是:面向接口编程,而不是面向实现

其目标原则是:高内聚(Cohesion)和低耦合(Coupling)

 

1.1 什么是面向接口编程,是面向实现?

举个例子,假设有两种品牌的轮胎,普利司通(Bridgestone)和米其林(Michelin),而轮胎的共同特性都是会转(roll)。那么我们可以得到两个类:

面向实现编程:

image

image

 

面向接口编程:

      如果将这两种轮胎的共同特性提取出来,在转动轮胎的时候,只关注“是轮胎”本身,而不去了解“是什么品牌的轮胎”,问题就迎刃而解了。

image

1.2 高内聚(Cohesion)和低耦合(Coupling)?

一、什么是耦合度

耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。耦合的强度依赖于以下几个因素:

(1)一个模块对另一个模块的调用;

(2)一个模块向另一个模块传递的数据量;

(3)一个模块施加到另一个模块的控制的多少;

(4)模块之间接口的复杂程度。

二、什么是内聚性

内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

三、目的

耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。举个例子:修计算机容易还是修收音机容易?

1.3 设计模式分类

       设计模式的分类:Gang of Four的“Design Patterns: Elements of Resualbel Software”书将设计模式归纳为三大类型,共23种设计模式。

image

 

1.4 设计模式规则

设计模式基本原则:最终目的:高内聚,低耦合

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

2) 单一职责原则 :类的职责要单一,对外只提供一种功能,而引起类变化的原因都应该只有一个。

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

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

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

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

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

 

有些内容是从其他一些博客上整理的,并非原著!

转载于:https://www.cnblogs.com/yzdai/p/9782906.html

最后

以上就是辛勤冥王星为你收集整理的设计模式笔记的全部内容,希望文章能够帮你解决设计模式笔记所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部