软件设计模式概述

81 阅读2分钟

提到软件设计模式相信从事软件行业的同僚都不陌生甚至有些熟悉,面向对象5大原则和23种软件设计模式是程序员心中永远的痛😮‍💨,它们就像是习武之人的武林秘籍,掌握并能熟练应用它们就能够在软件开发这个世界里如鱼得水

本文主要为概述,后续会在当前文章所属专栏中详细介绍每一种原则和设计模式,请关注我吧😝

面向对象的5大设计原则 SOLID

S |单一职责原则 Single Responsibility Principle

  • 一个类只负责一个职责,降低系统复杂度

O | 开闭原则 Open-Closed Principle

  • 对扩展开放,对修改关闭

L | 里氏替换原则 Liskov Substitution Principle

  • 子类对象必须能替代父类对象

I | 接口隔离原则 Interface Segregation Principle

  • 使用多个小接口而不是一个大接口

D | 依赖倒置原则 Dependency Inversion Principle

  • 高层模块不依赖低层模块,依赖抽象模块

23种设计模式

  • 设计模式主要分为三大类,分别创建结构行为模式

创建模式 Creational Design patterns

  • 用于处理对象的创建,使其更灵活有效;它让系统独立以及对象如何被创建、组合和表示。主要包含:

单例模式|工厂模式|抽象工厂模式|原型模式|建造者模式

img.png

结构模式 Structural Design Patterns

  • 专注于类和对象之间如何组合形成更大更复杂的结构;用于组织和管理对象之间的关系使得系统具有更好的灵活性、可用性和可维护性

适配器模式|桥接模式|组合模式|装饰器模式|外观模式|代理模式|享元模式

img_1.png

行为模式 Behavioral Design Patterns

  • 用于处理对象和类之间的交互,专注于如何通过协作完成任务

观察者模式|策略模式|状态模式|命令行模式|责任链模式|模版模式|解释器模式|访问者模式|中介者模式|备忘录模式

img_2.png