前言

设计模式其实并不神秘,今天carson将带你了解一切关于设计模式的知识。

Carson带你学设计模式系列文章
Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南
Carson带你学设计模式:单例模式(Singleton)
Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern)
Carson带你学设计模式:工厂方法模式(Factory Method)
Carson带你学设计模式:抽象工厂模式(Abstract Factory)
Carson带你学设计模式:建造者模式(Builder Pattern)
Carson带你学设计模式:适配器模式(Adapter Pattern)
Carson带你学设计模式:外观模式(Facade Pattern)
Carson带你学设计模式:静态代理模式(Proxy Pattern)
Carson带你学设计模式:动态代理模式(Proxy Pattern)
Carson带你学设计模式:模板方法模式(Template Method)
Carson带你学设计模式:策略模式(Strategy Pattern)
Carson带你学设计模式:观察者模式(Observer)


目录


1. 定义

某类特定问题的代码设计解决方案,实际上是一套针对某类问题的代码设计经验总结。


2. 作用

  • 提高代码复用率,降低开发成本和周期;
  • 提高代码可维护性、可拓展性;
  • 使代码更加优雅、更容易被他人理解。

3. 设计原则

在设计模式进行设计时需要遵循以下七个原则:


4. 类型

设计模式的类型总共分为:3大类、23种具体设计模式,具体如下:

标红即为较常使用的设计模式,在下节会详细介绍。


5. 常用设计模式

针对三种设计模式类型,常见的设计模式是:

  • 创建型:单例模式、工厂方法模式(及 变式)、建造者模式;
  • 结构型:适配器模式、代理模式、门面(外观)模式;
  • 行为型:策略模式、观察者模式

5.1 创建型

此处主要讲解常见的是:单例、工厂方法(及 变式:工厂方法模式、抽象工厂模式)、建造者模式。

具体介绍请看文章:

  • Carson带你学设计模式:单例模式(Singleton)
  • Carson带你学设计模式:简单工厂模式(SimpleFactoryPattern)
  • Carson带你学设计模式:工厂方法模式(Factory Method)
  • Carson带你学设计模式:抽象工厂模式(Abstract Factory)
  • Carson带你学设计模式:建造者模式(Builder Pattern)

5.2 结构型

此处主要讲解常见的是:适配器模式、代理模式、门面(外观)模式。

具体介绍请看文章:

  • Carson带你学设计模式:适配器模式(Adapter Pattern)
  • Carson带你学设计模式:外观模式(Facade Pattern)
  • Carson带你学设计模式:静态代理模式(Proxy Pattern)
  • Carson带你学设计模式:动态代理模式(Proxy Pattern)

5.3 行为型

此处主要讲解常见的是:策略模式、观察者模式 和模板方法模式。

具体介绍请看文章:

  • Carson带你学设计模式:策略模式(Strategy Pattern)
  • Carson带你学设计模式:观察者模式(Observer)
  • Carson带你学设计模式:模板方法模式(Template Method)

至此,关于常见的设计模式讲解完毕。


6. 总结

  • 本文对设计模式的定义进行了全面介绍
  • 接下来我会对每种设计模式进行详细的分析,欢迎关注Carson_Ho的CSDN博客

请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!

Carson带你学设计模式:这是一份全面 详细的设计模式学习指南相关推荐

  1. Carson带你学Android:请收好这一份全面详细的Android学习指南

    前言 如果你也学习Android,那么你大概率会看过我的文章.经常有读者给我留言:"该怎么学习Android?"."日常学习Android的方法是什么". 今天 ...

  2. Carson带你学Android:这是一份全面详细的动画学习指南

    前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多.使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时,很多开发者就显得束手无策 本文将献上一份Android动画的全面 ...

  3. Carson带你学Android:RxJava过滤操作符

    前言 Rxjava由于其基于事件流的链式调用.逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎. 今天,我将为大家详细介绍RxJava操作符中最常用的 过滤操作符,希望你们会 ...

  4. Carson带你学Android:图文详解RxJava背压策略

    前言 Rxjava,由于其基于事件流的链式调用.逻辑简洁 & 使用简单的特点,深受各大 Android开发者的欢迎. 本文主要讲解的是RxJava中的 背压控制策略,希望你们会喜欢. Cars ...

  5. Carson带你学JVM:图文解析Java虚拟机内存结构

    前言 了解Java中的对象.变量等存放的内存区域十分重要 本文将全面讲解Java虚拟机中的内存模型 & 分区,希望你们会喜欢 Carson带你学JVM系列文章,具体如下: Carson带你学J ...

  6. Carson带你学设计模式:模板方法模式(Template Method)

    前言 今天Carson来全面总结最常用的设计模式 - 模板方法模式. Carson带你学设计模式系列文章 Carson带你学设计模式:这是一份全面 & 详细的设计模式学习指南 Carson带你 ...

  7. Carson带你学Android:你要的WebView与 JS 交互方式都在这里了

    前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与 ...

  8. Carson带你学Android:源码解析自定义View Draw过程

    前言 自定义View是Android开发者必须了解的基础 网上有大量关于自定义View原理的文章,但存在一些问题:内容不全.思路不清晰.无源码分析.简单问题复杂化 等 今天,我将全面总结自定义View ...

  9. Carson带你学Android:这是一份全面详细的属性动画学习攻略!

    前言 属性动画的使用 是 Android 开发中常用的知识 本文将献上一份全面 & 详细的属性动画学习指南,将详细介绍属性动画的所有内容,包括:意义.作用.应用场景.功原理 & 具体使 ...

  10. Carson带你学Android:手把手带你入门跨平台UI开发框架Flutter

    前言 Flutter 作为Google出品的一个新兴的跨平台移动客户端UI开发框架,正在被越来越多的开发者和组织使用,包括阿里的咸鱼.腾讯的微信等. 今天,我将献上一份 <全面 & 详细 ...

最新文章

  1. Performance Prism
  2. 数据库事务的四大特性ACID
  3. ZigBee网络数据传递流程_蓝牙、Wifi与ZigBee三种,这三种无线传输技术,谁能一统天下...
  4. 亿佰特物联网无线模块通信技术分析
  5. mysql show
  6. p20怎么用android auto,奔驰23P/P20驾驶辅助系统到底有哪些功能,怎么使用?
  7. FlyMcu - 用于STM32芯片ISP串口程序一键下载的免费软件
  8. gin框架01--快速入门gin框架
  9. 如何将socket服务器部署到云服务器上
  10. 分享一位大佬开发的驱动级的虚拟键盘鼠标,支持DD键鼠接口
  11. 【励志】知乎热门:我是怎么变自律的?
  12. 2016-07-09Cpp_jianjie
  13. GIS 地图坐标系相互转换的方法学习笔记
  14. ## java.lang.IllegalStateException:错误 修改
  15. 提高RM-MEDA局部学习(IRM-MEDA)
  16. .NET Reflector 7.6.1.824安装及破解(刚试了,绝对能用)
  17. 虚拟机M0n0wall软件防火墙配置
  18. linux 补充文件名,linux修改文件名(Linux 下使用 shell 批量修改文件名的三种方法)...
  19. Linux服务器安装杀毒软件ClamAV
  20. 三菱PLC第一篇:GXWORK3与三菱FX5UPLC同通过交换机连接

热门文章

  1. 长江后浪推前浪, “趣出行”死在“火牛”的沙滩上
  2. 解决 Could not locate executable null\bin\winutils.exe in the Hadoop binaries 异常
  3. 华东 1、华东 2、华北 1、华北 2、华南 1 服务器分别都在哪个城市
  4. Convolution1D与Convolution2D区别
  5. JavaScript之“创意时钟”项目
  6. 零基础成为网络工程师经验分享,附完整学习路线
  7. 从VISTA到WIN 7 揭秘全球软件开发模式的变迁
  8. 格拉姆-施密特过程的程序实现
  9. 云计算 IaaS PaaS SaaS 基础概念和区别终于搞清楚了
  10. 爆红十年后,谁“切”了苹果?