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

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

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

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

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

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

答案是有:

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

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

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

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

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

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

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

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

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

相关推荐
付聪121016 分钟前
策略模式介绍和代码示例
设计模式
ThereIsNoCode2 小时前
「软件设计模式」状态模式(State)
设计模式·状态模式
菜鸟一枚在这8 小时前
深入理解设计模式之代理模式
java·设计模式·代理模式
mjr10 小时前
设计模式-Java
java·设计模式
yuanpan10 小时前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
FLZJ_KL12 小时前
【设计模式】【创建型模式】单例模式(Singleton)
java·单例模式·设计模式
万兴丶14 小时前
Unity 适用于单机游戏的红点系统(前缀树 | 数据结构 | 设计模式 | 算法 | 含源码)
数据结构·unity·设计模式·c#
菜鸟一枚在这14 小时前
深入剖析抽象工厂模式:设计模式中的架构利器
设计模式·架构·抽象工厂模式
码熔burning14 小时前
(三)趣学设计模式 之 抽象工厂模式!
设计模式·抽象工厂模式
程序猿多布15 小时前
C#设计模式 学习笔记
设计模式·c#