设计模式1——初步认识篇

设计模式1------初步认识篇

一、先让我们浅聊一下面向对象和设计模式。

说起设计模式,我第一次听到它,是在学习面向对象的时候。那么什么是面向对象,什么是设计模式,而且设计模式和面向对象又有什么关系呢?
1、什么是面向对象?

  1. 面向对象是一种思考问题或看待事物的思想,相当于哲学里的认识论。
  2. 面向对象就是要求我们在认识或解决问题的时候,将事情看成是一个个人或物等对象之间的交互而产生和运行的。

2、面向对象和设计模式有关系吗?

答案是有:

面向对象的思想几乎覆盖了我们软件周期的所有阶段。例如:在需求工程阶段的需求收集时期,就是先把目标用户当做一个个对象去调研,调研完之后才使用面向过程的思想根据一个个对象之间的关系把整个业务流程还原;再例如在设计工程或开发工程阶段,使用UML表达设计思想、又或是设计模式等,这些方法论的根基都是基于面向对象这种思想。

3、那么它在编程语言上又有什么体现呢?

我们都听说过Java、python、C++等是面向对象语言,也听说过C是面向过程(结构化编程)语言。那么面向对象语言是什么?简短的说面向对象语言的特点是:

  1. 封装
  2. 继承
  3. 多态

而这些,就是面向对象这种思想在设计语言层面的衍生

4、那什么是设计模式呢?

  • 设计模式是一种软件工程中常见的解决问题的可复用方案。它们是对软件设计中常见问题的解决方案的描述。设计模式有助于提高代码的可维护性、可扩展性和可重用性,同时也提供了一种共享经验的方式,使得开发人员能够更有效地沟通和合作。

  • 设计模式在编程语言方面的实现正是使用了上述面向对象语言的3个特点,同时也是不可或缺的条件,它是设计模式编程范式的核心前提。老实说,如果有人天赋异禀,可以对上述3个特性灵活应用,那么不学设计模式都行,因为你完全可以自己去定义模式。当然你也应当遵守一些设计原则。

二、典型的23种设计模式汇总分类

相关推荐
无籽西瓜a2 小时前
【西瓜带你学设计模式 | 第十五期 - 策略模式】策略模式 —— 算法封装与动态替换实现、优缺点与适用场景
java·后端·设计模式·软件工程·策略模式
Kel18 小时前
Claude Code 架构深度剖析:从终端输入到大模型响应的完整过程
人工智能·设计模式·架构
￰meteor1 天前
23种设计模式 -【观察者】
设计模式
妙蛙种子3111 天前
【Java设计模式 | 创建者模式】 抽象工厂模式
java·开发语言·后端·设计模式·抽象工厂模式
怨言.1 天前
设计模式之模板方法模式
设计模式·模板方法模式
无籽西瓜a1 天前
【西瓜带你学设计模式 | 第十四期 - 享元模式】享元模式 —— 内外状态分离与对象共享实现、优缺点与适用场景
java·设计模式·软件工程·享元模式
七夜zippoe1 天前
设计模式在Spring等框架中的应用:模板方法、工厂、适配器等
java·spring·设计模式·模板·适配器·工厂
panzer_maus1 天前
工厂模式、代理模式与单例模式的介绍
java·设计模式·代理模式
糟糕好吃2 天前
AI 全流程解析(LLM / Token / Context / RAG / Prompt / Tool / Skill / Agent)
前端·后端·设计模式
kvo7f2JTy2 天前
JAVA 设计模式
java·开发语言·设计模式