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

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

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

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

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

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

答案是有:

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

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

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

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

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

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

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

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

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

相关推荐
cooldream20094 小时前
深入理解MVP架构:让UI层与业务逻辑完美分离的设计模式
ui·设计模式·架构·系统架构师
摘星编程7 小时前
并发设计模式实战系列(3):工作队列
设计模式·并发编程
Pasregret7 小时前
访问者模式:分离数据结构与操作的设计模式
数据结构·设计模式·访问者模式
Aniugel10 小时前
JavaScript高级面试题
javascript·设计模式·面试
不当菜虚困10 小时前
JAVA设计模式——(四)门面模式
java·开发语言·设计模式
Niuguangshuo10 小时前
Python设计模式:MVC模式
python·设计模式·mvc
Lei活在当下11 小时前
【现代 Android APP 架构】01. APP 架构综述
android·设计模式·架构
前端大白话11 小时前
震惊!90%前端工程师都踩过的坑!computed属性vs methods到底该怎么选?一文揭秘高效开发密码
前端·vue.js·设计模式
前端大白话11 小时前
前端必看!figure标签在响应式图片排版中的王炸操作,grid/flex布局实战指南
前端·设计模式·html
ApeAssistant11 小时前
Spring + 设计模式 (十四) 行为型 - 观察者模式
spring·设计模式