二十三种设计模式 之 初识设计模式

举报
木字楠 发表于 2022/12/07 13:48:09 2022/12/07
【摘要】 **设计模式(Design Pattern)** 是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。它并不是语法规定而是一套帮助我们增强代码的可重用性、可扩充性、 可维护性、可读性、健壮性以及安全性的解决方案!

木字楠-header.gif


🎶 文章简介:二十三种设计模式 之 初识设计模式

💡 创作目的:设计模式的基础描述

☀️ 今日天气:2022-12-05 天气依旧很冷…

📝 每日一言:烟火向星辰,所愿皆所得。


🎆 什么是设计模式?

设计模式(Design Pattern) 是解决软件开发某些特定问题而提出的一些解决方案也可以理解成解决问题的一些思路。它并不是语法规定而是一套帮助我们增强代码的可重用性、可扩充性、 可维护性、可读性、健壮性以及安全性的解决方案!

设计模式由GoF(Gang Of Four)于1995年联合发布出版了《设计模式:可复用面向对象软件的基础》一书,从此树立了软件设计的里程碑。因此23种设计模式也被称为GoF23,也叫GoF设计模式

🎇 设计模式有哪些?

设计模式分为三大类,分别是创建型模式结构型模式行为型模式

  • 创建型模式
 工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式、
  • 结构型模式
适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式、
  • 行为型模式
策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、
命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式、

🧨 OOP 七大原则

  • 开闭原则(Open Close Principle)
对软件实体的改动,最好用扩展而非修改的方式。如果要修改代码,尽量用继承或组合的方式来扩展类的功能
,而不是直接修改类的代码.
  • 里氏替换原则(Liskov Substitution Principle)
尽量把父类设计为抽象类或者接口,让子类继承父类或实现父接口,子类可以扩展父类的功能,但不能改变父类
原有的功能。
1. 老爸能干的事情,儿子都能干。
2. 但是儿子能干的事情老爸不一定能干。

里氏代换原则是开闭原则的具体实现手段之一。
  • 依赖倒置原则(Dependence Inversion Principle)
要依赖抽象,不要依赖具体类。这个和针对接口编程, 而不是面向实现编程很像。但是它更强调抽象。这个原则
是不能让高层组件依赖底层组件,而且高层组件和低层组件都应该依赖抽象。
  • 单一职责原则(Single Responsibility Principle)
一个类只承担一个职责,千万不要让一个类干的事情太多。
要面向接口编程,不要面向实现编程。
  • 接口隔离原则(Interface Segregation Principle)
要为各个类建立他们需要的专用接口。
接口最小化。接口中的方法应该尽量少。和单一职责原则类似
  -  单一职责针对的是类,
  -  接口隔离针对的是接口
  • 迪米特法则(Demeter Principl)
- 只与你的直接朋友交谈,不跟“陌生人”说话。
- 类向外公开的方法应该尽可能的少,
- 依赖的对象尽可能的少(只依赖应该依赖的对象)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。