设计模式 - 概述

1、背景

设计模式(Design Patterns)是由 GOF(四人组)提出的,对于不同类型的软件场景,总结出的软件设计方法,一共有 23 种模式。

2、分类

23 种设计模式按功能类型分成了 3 大类,创建型模式结构型模式行为型模式

  • 创建型模式有:工厂方法(Factory Method)、抽象工厂(Abstract Factory)、建造者(Builder)、单例(Singleton)、原型(Prototype)5 种模式
  • 结构型模式有:适配器(Adapter)、桥接(Bridge)、组合(Composite)、装饰(Decorator)、外观(Facade)、享元(Flyweight)、代理(Proxy)模式 7 种模式
  • 行为型模式有:职责链(Chain of Responsibility)、命令(Command)、解释器(Interpreter)、迭迭代器(Iterator)、中介者(Mediator)、备忘录(Memento)、观察者(Observer)、状态(State)、策略(Strategy)、模板方法(Template Method )、访问者(Visitor) 共计 11 种模式

提示:简单工厂模式是工厂模式的一种,所以并不是单独的一种设计模式。

3、面向对象设计原则

面向对象设计有 7 大设计原则,如下图所示

  • 单一职责原则:在设计一个类时,该类应该只有一个原则,或者说一项业务功能。这样可以提升代码的可维护性,降低系统功能的耦合度。
  • 开闭原则:在设计一个软件实体(类、接口、方法等)时,应该对扩展开放,对修改关闭。这样就可以通过扩展已有代码来增加新功能,而无需修改已有代码。这个原则是面向对象设计最基本的原则。
  • 里氏替换原则:该原则要求在代码中子类可以替换父类而不引起错误。这确保了继承关系的正确性和一致性。
  • 接口隔离原则:该原则要求不强迫客户依赖他们不使用的接口。该原则要求接口设计小而专注某一职责。
  • 合成复用原则:该原则要求设计功能时,尽量使用组合而不是继承来实现。组合关系更灵活而且不会带来继承的复杂性。
  • 依赖倒置原则:要求程序中要依赖抽象(接口、类)来进行编程,而不是面向具体类。这样可以最大程度降低模块之间的依赖。
  • 迪米特法则:要求设计一个类时,尽量少的依赖其他类,降低类与类之间的耦合度。

 

参考:

https://www.cnblogs.com/coodream2009/p/17679019.html

posted @ 2024-11-20 22:40  lenbkan  阅读(8)  评论(0编辑  收藏  举报