设计模式七大原则

七大原则有:

  • 单一原则原则
  • 接口隔离原则
  • 依赖倒转原则
  • 里氏替换原则
  • 开闭原则
  • 迪米特法则
  • 合成复用原则

1 单一职责原则

1.1 基本介绍

​ 对类来说的,即一个类应该只负责一项职责。 如类A负责两个不同的职责:职责1,职责2。当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A2。

1.2 应用实例

交通工具

单例模式:static private 懒汉写开,饿汉写一块。

2 接口隔离原则

2.1 基本介绍

客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。

类A通过接口Interfacel 依赖类B,类C通过接口Interface1 依赖类D,如果接口Interfacel 对于类A和类C来说不是最小接口,那么类B和类D必须去实现他们不需要的方法。

隔离原则应当这样处理:

接口Interface1拆分为独立的几个接口类A和类C分别与他们需要的接口建立依赖关系。也就是采用接口隔离原则

3 依赖倒转原则

4 里氏替换原则

尽可能少的重写父类,创建更加基础的基类,让A和B都去继承这个基类,原有的继承关系去掉,采用依赖,聚合,组合等关系代替。

5 开闭原则

开闭原则是编程中最基础,最重要的设计原则

当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。

6 迪米特法则

(最少知道原则)

陌生的类最好不要以局部变量的形式出现在类的内部。只与直接朋友通信

直接朋友:我们称出现成员变量,方法参数,方法返回值中的类为直接朋友。

非直接朋友应该封装起来。

迪米特法则至少要求降低类与类直接的耦合,而不是不能耦合。

7 合成复用原则

原则是尽量使用合成/聚合的方式,而不是使用继承。

相关推荐
大飞pkz3 小时前
【设计模式】C#反射实现抽象工厂模式
设计模式·c#·抽象工厂模式·c#反射·c#反射实现抽象工厂模式
努力也学不会java3 小时前
【设计模式】抽象工厂模式
java·设计模式·oracle·抽象工厂模式
青草地溪水旁4 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(2)
c++·设计模式·抽象工厂模式
青草地溪水旁4 小时前
设计模式(C++)详解—抽象工厂模式 (Abstract Factory)(1)
c++·设计模式·抽象工厂模式
Magnetic_h13 小时前
【iOS】设计模式复习
笔记·学习·ios·设计模式·objective-c·cocoa
A阳俊yi14 小时前
设计模式——结构型模式
设计模式
努力也学不会java21 小时前
【设计模式】状态模式
java·设计模式·状态模式
.豆鲨包21 小时前
【设计模式】单例模式
java·单例模式·设计模式
lpfasd1231 天前
第2课:Agent系统架构与设计模式
设计模式·系统架构
青草地溪水旁1 天前
设计模式(C++)详解—原型模式(1)
c++·设计模式·原型模式