设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式是为了重用代码,让代码更容易被他人理解,保证代码可靠性。
设计模式不是一种技术,而是一种思想。设计模式不是代码,而是针对代码编写的通用解决方案。设计模式的核心思想是面向对象编程中的继承、多态、封装等思想。

设计模式的类型

根据设计模式的目的、范围和实现方式,设计模式可以分为23种:

创建型模式(5种)

工厂方法模式(Factory Method Pattern)

抽象工厂模式(Abstract Factory Pattern)

单例模式(Singleton Pattern)

建造者模式(Builder Pattern)

原型模式(Prototype Pattern)

创建型模式是用来解决对象的创建问题的,这些模式通过控制对象的创建方式、对象的数量等方式来达到其目的。

结构型模式(7种)

适配器模式(Adapter Pattern)

桥接模式(Bridge Pattern)

组合模式(Composite Pattern)

装饰器模式(Decorator Pattern)

外观模式(Facade Pattern)

享元模式(Flyweight Pattern)

代理模式(Proxy Pattern)
结构型模式是用来解决对象之间组合关系的问题,这些模式通过描述对象之间的关系,可以更好地管理对象之间的依赖关系。

行为型模式(11种)

职责链模式(Chain of Responsibility Pattern)

命令模式(Command Pattern)

解释器模式(Interpreter Pattern)

迭代器模式(Iterator Pattern)

中介者模式(Mediator Pattern)

备忘录模式(Memento Pattern)

观察者模式(Observer Pattern)

状态模式(State Pattern)

策略模式(Strategy Pattern)

模板方法模式(Template Method Pattern)

访问者模式(Visitor Pattern)
行为型模式是用来解决对象之间交互的问题,这些模式通过描述对象之间的通信方式和流程,可以更好地管理对象之间的交互。

目录:什么是设计模式相关推荐

  1. 命令模式的优点?_一篇目录复习完设计模式

    设计模式分类: 创建型设计模式 创建型设计模式的主要关注点是"怎样创建对象?",它的主要特点是"将对象的创建与使用分离".这样可以降低系统的耦合度,使用者不需要 ...

  2. 设计模式学习笔记(目录篇)

    设计模式学习笔记(目录篇) 为了方便查看,特此将设计模式学习笔记系列单独做一个目录. 1   设计模式学习笔记(一:命令模式) 2   设计模式学习笔记(二:观察者模式) 3   设计模式学习笔记(三 ...

  3. PHP设计模式系列:目录

    为了方便查找和学习,现将PHP设计模式系列文章列出目录. PHP设计模式系列:简单工厂模式 PHP设计模式系列(一):策略模式 PHP设计模式系列(二):装饰模式 PHP设计模式系列(三):代理模式 ...

  4. 《设计模式解析(第2版•修订版)》目录—导读

    作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训 ...

  5. 全网最全最细的【设计模式】总目录,收藏起来慢慢啃,看完不懂砍我

    文章目录 一.设计模式七大原则 1.单一职责原则 2.接口隔离原则 3.依赖倒置原则 4.里氏替换原则 5.开闭原则 6.迪米特法则 7.合成复用原则 二.UML图 1.UML类图 2.UML时序图 ...

  6. 架构师之路 — 软件架构 — 应用架构设计模式

    目录 文章目录 目录 应用架构设计模式(Application Architecture Patterns) 分层模式(Layered Pattern) 事件驱动模式(Event-based Patt ...

  7. 设计模式在vue中的应用(五)

    前言 目录整理: 设计模式在vue中的应用(一) 设计模式在vue中的应用(二) 设计模式在vue中的应用(三) 设计模式在vue中的应用(四) 设计模式在vue中的应用(五) 设计模式在vue中的应 ...

  8. .NET 云原生架构师训练营(设计原则设计模式)--学习笔记

    ▲ 点击上方"DotNet NB"关注公众号 回复"1"获取开发者路线图 学习分享 丨作者 / 郑 子 铭 这是DotNet NB 公众号的第180篇原创文章 ...

  9. 精讲23种设计模式-策略模式~聚合短信服务和聚合支付服务

    文章目录 一.设计模式 1. 为什么需要使用设计模式 2. 设计模式的分类 3. 什么是策略模式 4. 为什么叫做策略模式 5. 策略模式优缺点 6. 策略模式应用场景 7. Spring框架中使用的 ...

  10. Java高并发编程详解系列-Guarded Suspension设计模式

    导语   什么是Guarded Suspension模式,Suspension 意思是挂起,暂停的.而Guarded则表示担保的意思,连起来的就是确保挂起.也就是说当线程访问某个对象的时候,发现条件不 ...

最新文章

  1. 【c语言】求两数之和
  2. python爬取图片-Python爬取网页中的图片(搜狗图片)详解
  3. Linux java集成安装环境,Linux下Java环境安装
  4. java多线程系列:通过对战游戏学习CyclicBarrier
  5. js中输出变量的类型和输出对象的的属性/方法/成员函数
  6. context set_parameter all_req_parameters /iwfnd/if_sodata_types=gcs_iwf_context
  7. 钱德沛教授:云计算和网格计算差别何在?
  8. BZOJ 3527: [ZJOI2014]力(FFT)
  9. oracle pctlist,oracle pctfree和pctused详解
  10. HTML5,CSS3,JS绘制饼图
  11. Maven Install报错:Perhaps you are running on a JRE rather than a JDK
  12. 通过hsv筛选颜色 python_OpenCV-Python 光流介绍(附代码)
  13. css中auto啥意思,CSS中各种auto值的作用总结
  14. 酷派+k1+rom+android+4.4,酷派新品牌怎么样?ivvi K1全面评测
  15. 经典推荐:盛大架构师周爱民回顾职业历程,分享十项建议
  16. php 文章页面阅读全文,纯代码为WordPress文章内容页增加阅读全文展开功能
  17. Codeforces Round 1133(Div.3)题解
  18. UserAgent和获取手机内安装的所有app列表
  19. 程序员的8个级别,你属于哪个级别?
  20. python中nx_Siemens NX (UG)中对于Python第三方包(函数库)的设置方法

热门文章

  1. 关于个人所得税的计算方法及税率
  2. Docker:MacOS环境下修改容器的端口号
  3. The Dearbookian #20040407 - 译文无奈 之 Lolita译本的阅读感受
  4. 使用openssl_encrypt方法替代mcrypt_encrypt做AES加密
  5. 【AM335x新品发布】 TI Sitara系列TL335x-EVM-S评估板,你知多少?
  6. 物联网系统RT-Thread学习---软件包使用(按键)
  7. 门磁开关原理及相关应用
  8. 八种基本电子电路介绍
  9. 如何实现一款毫秒级实时数据分析引擎
  10. 一款简单易上手的ARM单片机开发IDE—STduino