深入浅出设计模式之概论

本章为概述。后续章节将针对每一种设计模式给出对应的应用场景和代码示例。

知名软件大师Robert C.Martin认为一个可维护性较低的软件设计,通常是由于如下四个原因造成:
过于僵硬(Rigidity),过于脆弱(Fragility),可用率低(Immobility),黏度过高(Viscosity)。

注重软件的可维护性和可复用性,才是面向对象的入门,才是设计模式的入门。

软件设计有三个要素:流程、功能和数据结构。
功能方法考虑性能,流程方法考虑设计模式。
设计模式针对是流程,流程复杂化、不容易理解和控制。重构就是改的简单容易理解一点,那怎么简单起来呢,应用设计模式。一开始的时候,除非你很有经验,不然的话,不用考虑设计模式的问题。当你开始挠头的时候,怎么这么乱,都不想写了,这个时候开始重构,引入设计模式。

推荐两本书《设计模式:可复用面向对象软件的基础》《程序员修炼之道》

一、面向对象的七个基本原则

1. 单一职责原则

类的职责要单一,不能将太多的职责放在一个类中。

2. 开闭原则

软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展功能。

3. 里氏代换原则

在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。

4. 依赖倒转原则

要针对抽象层编程,而不要针对具体类编程。

5. 接口隔离原则

使用多个专门的接口来取代一个统一的接口。

6. 合成复用原则

在系统中应该尽量多使用组合和聚合关联关系,尽量少使用甚至不使用继承关系、

7. 迪米特法则

一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互。

二、设计模式

在这里插入图片描述

原创文章 18 获赞 53 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_27096221/article/details/106060628