前言

虽然拜读了《HeadFirst设计模式》一书,对设计模式进行了学习,但是一直没有真正的进行编码。
近期打算抽空对常用的设计模式进行实例编码,并形成博文,以备日后参考。

关于设计模式

  • 设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。
  • 用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。

辅助工具

  • UML类图的依赖、关联、聚合、组合、泛化、继承

设计原则(待更新…)

  • 面向对象的六个设计原则-以购物车支付为例

源码GitHub

  • https://github.com/hanchao5272/design-pattern

设计模式分类

设计模式分为三种类型,共计23种:

  • 创建型模式:单例模式抽象工厂模式工厂模式、建造者模式、原型模式。
  • 结构型模式:适配器模式装饰模式外观模式代理模式、桥接模式、组合模式、享元模式。
  • 行为型模式:策略模式观察者模式责任链模式状态模式命令模式模版方法模式、迭代器模式、中介者模式、备忘录模式、解释器模式、访问者模式。

设计模式实例学习列表

创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程。

  • 单例模式(singleton)-8种-以打印机为例: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。
  • 工厂模式(factory)-3种-以手机制造工厂为例: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

结构型模式:把类或对象结合在一起形成一个更大的结构。

  • 适配器模式(adapter)-以电压适配器为例: 将一个类的接口转换成另外一个客户希望的接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
  • 装饰者模式(decorator)-以生日蛋糕装饰为例: 动态地给一个对象添加一些额外的职责。就扩展功能而言, 它比生成子类方式更为灵活。
  • 外观模式(facade)-以瀑布模型软件开发为例: 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
  • 代理模式(proxy)-以购房中介为例: 为其他对象提供一个代理以控制对这个对象的访问。

行为型模式:类和对象如何交互,及划分责任和算法。

  • 策略模式(strategy)-以购物车的支付策略为例: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
  • 观察者模式(observer)-以报纸订阅为例: 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
  • 设计模式(chain of responsibility)-责任链模式-以多轮面试为例: 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
  • 状态模式(state)-以射击游戏的武器状态为例: 允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。
  • 命令模式(command)-以游戏快捷键为例: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
  • 模板方法模式-以简历模板为例: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

参考

  • https://baike.baidu.com/item/设计模式/1212549?fr=aladdin
  • 《HeadFirst设计模式》
  • https://me.csdn.net/lmj623565791

Java常用设计模式的实例学习系列-绪论相关推荐

  1. 初学Java常用设计模式之——工厂模式

    声明:转载请附上原文链接 提示:标题序号从2开始,是照应不同设计模式笔记发布的顺序而定的,比如,第上一篇文章 初学Java常用设计模式之--单例模式 序号从1开始 2. 工厂模式(常用) ⼯⼚模式介绍 ...

  2. Java常用设计模式————原型模式(一)

    介绍 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 原型模式用于创建重复的对象,同时又能保证性能.当直接创建对象的代价比较大时,则采用 ...

  3. 初学Java常用设计模式之——原型模式

    声明:转载请附上原文链接 提示:标题序号从3开始,是照应不同设计模式笔记发布的顺序而定的,比如,第上一篇文章 初学Java常用设计模式之--工厂模式 序号从2开始. 标题后面之所以加上了解,是因为相对 ...

  4. java常用设计模式文章收集

    java常用设计模式文章收集 java设计模式--接口模式 java设计模式--抽象工厂模式 java设计模式--工厂模式 Java设计模式--迭代器模式 Java设计模式--原型模式 JAVA设计模 ...

  5. 初学Java常用设计模式之——装饰器模式

    声明:转载请附上原文链接 提示:标题序号从8开始,是照应不同设计模式笔记发布的顺序而定的,比如,上一篇文章 初学Java常用设计模式之--桥接模式和组合模式 序号从7开始. 8. 装饰器设计模式(重点 ...

  6. JAVA常用设计模式(一、单例模式、工厂模式)

    JAVA设计模式之单例模式 import java.util.HashMap; import java.util.Map;/*** 设计模式之单例模式* 单例模式(Singleton Pattern) ...

  7. Java常用设计模式————工厂模式

    简介: 工厂模式(Factory Pattern)是Java中最常用的设计模式之一,又称多态工厂模式.虚拟构造器模式.属于创建型模式. 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通 ...

  8. java常用设计模式 看了她,改变你的一生~~~

    设计模式: 一个程序员对设计模式的理解: "不懂"为什么要把很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的精 ...

  9. java常用设计模式应用案例

    设计模式: 一个程序员对设计模式的理解: "不懂"为什么要把 很简单的东西搞得那么复杂.后来随着软件开发经验的增加才开始明白我所看到的"复杂"恰恰就是设计模式的 ...

  10. Java常用设计模式(三)

    组合模式(Composite Pattern)   组合模式是一种结构型设计模式,它允许将对象组合成树形结构,以表示"部分-整体"的层次关系.组合模式可以让客户端使用统一的方式处理 ...

最新文章

  1. 智源发布:悟道 · 文汇 | 面向认知,超大规模新型预训练模型
  2. CMake编译cuda出错
  3. bgp通告四原则_BGP的十三条选路原则
  4. JDK 14的新特性:更加好用的NullPointerExceptions
  5. telegr怎么连接不上_无线网密码正确但是手机连接不上wifi?
  6. cpu,内存和disk使用报警脚本
  7. 证明3-SAT问题是NP-complete
  8. rep( )函数--R语言
  9. 最新QQDIY动态静态名片代码
  10. 数据库基础知识(思维导图)
  11. windows10使用openssl生成ca证书并本地模拟https调试开发环境
  12. 文件服务器不能打印,服务器不能用作打印服务器 - Windows Server | Microsoft Docs
  13. 教你如何简单快速有效的添加微信好友
  14. csv文件用什么打开_什么是CSV文件,如何打开它?
  15. 一款功能超级强大的AI驱动自动一键抠图软件,可一键扣人物商品衣服动物婚纱图章签名logo
  16. 算法细节系列(20):Word Ladder系列
  17. 华为手机拍照那么厉害,为什么就你拍的不好看?原来是因为这些功能
  18. ESP32 ESP-IDF看门狗TWDT
  19. python组合键触发_Python3 tkinter基础 Frame bind 捕捉多键同时按
  20. html鼠标拖尾效果,JavaScript鼠标划过背景拖尾效果

热门文章

  1. C++跨平台开发——SOCKET网络编程中实现客户端对聊
  2. VS2013过期激活,VS2013激活,vs2013序列号,VS2013密钥,VS013产品密匙
  3. Java项目:前台展示+后台管理结合的在线购书系统(java+Springboot+ssm+mysql+maven)
  4. Python和Excel的完美结合:常用操作汇总(案例详析)
  5. Easy2d 文档教程之 Visual Studio 安装 Easy2D 游戏引擎
  6. 学习Samba基础命令详解之大话西游01
  7. flex + tomcat + myEclipse环境配置与使用(四)
  8. jvisualvm使用
  9. 基于vb的mysql管理系统代码_VB ACCESS高校财务管理系统[论文 源代码 可执行程序]...
  10. 实用软件资源下载地址集合