文章目录

  • 导论
  • UML部分
  • 七个软件设计原则
  • 二十三种设计模式
    • 设计模式-创建型模式
    • 设计模式-结构型模式
    • 设计模式-行为型模式

导论

【Java设计模式】设计模式学习引导

UML部分

【Java设计模式】UML 2.2

  • UML基础
  • UML类图
  • UML类关系
  • UML时序图

七个软件设计原则

【Java设计模式】软件设计七大原则

  • 开闭原则
  • 迪米特原则
  • 依赖倒置原则
  • 里氏替换原则
  • 单一职责原则
  • 合成复用原则
  • 接口隔离原则

二十三种设计模式

设计模式-创建型模式

工厂方法模式

简单工程

单例模式

抽象工厂模式

原型模式

建造者模式

设计模式-结构型模式

适配器模式

桥接模式

装饰者模式

组合模式

代理模式

享元模式

外观模式

设计模式-行为型模式

策路模式

模板方法模式

访问者模式

观察者模式

迭代器模式

解释器模式

责任链模式

中介者模式

状态模式

备忘录模式

命令模式

【Java设计模式】总结相关推荐

  1. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  2. JAVA 设计模式 模板方法模式

    定义 模板方法模式 (Template Method) 定义了一个操作中的算法的骨架,而将部分步骤的实现在子类中完成. 模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模 ...

  3. Java设计模式之策略模式与状态模式

    一.策略模式定义 定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化. 好了,定义看看就完了,我知道你很烦看定义. 二.策 ...

  4. JAVA 设计模式 享元模式

    用途 享元模式 (Flyweight) 运用共享技术有效地支持大量细粒度的对象. 享元模式是一种结构型模式. 结构 图-享元模式结构图 Flyweight : 它是所有具体享元类的超类或接口,通过这个 ...

  5. java设计模式 观察者模式_理解java设计模式之观察者模式

    在生活实际中,我们经常会遇到关注一个事物数据变化的情况,例如生活中的温度记录仪,当温度变化时,我们观察它温度变化的曲线,温度记录日志等.对于这一类问题,很接近java设计模式里面的"观察者模 ...

  6. Java设计模式-七大设计原则

    Java设计模式 设计模式七大原则 设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码 ...

  7. Java设计模式(备忘录模式-解释器模式-状态模式-策略模式-职责链模式)

    Java设计模式Ⅶ 1.备忘录模式 1.1 备忘录模式概述 1.2 代码理解 2.解释器模式 2.1 解释器模式概述 3.状态模式 3.1 状态模式概述 3.2 代码理解 4.策略模式 4.1 策略模 ...

  8. Java设计模式(访问者模式-迭代器模式-观察者模式-中介者模式)

    Java设计模式Ⅶ 1.访问者模式 1.1 访问者模式概述 1.2 代码理解 2.迭代器模式 2.1 迭代器模式概述 2.2 代码理解 3.观察者模式 3.1 观察者模式概述 3.2 代码理解 4.中 ...

  9. Java设计模式(代理模式-模板方法模式-命令模式)

    Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...

  10. Java设计模式(装饰者模式-组合模式-外观模式-享元模式)

    Java设计模式Ⅳ 1.装饰者模式 1.1 装饰者模式概述 1.2 代码理解 2.组合模式 2.1 组合模式概述 2.2 代码理解 3.外观模式 3.1 外观模式概述 3.2 代码理解 4.享元模式 ...

最新文章

  1. React学习笔记3:React脚手架
  2. html5 图形化操作,HTML5的图像及动画图形操作-20210525222751.ppt-原创力文档
  3. Neutron — Hierarchical Port Binding(层次化端口绑定)
  4. 长城电脑或收购夏新电子笔记本业务
  5. CUDA编程--并行矩阵向量乘法【80+行代码】
  6. 使用第三方《UITableView+FDTemplateLayoutCell》自动计算UITableViewCell高度(Masonry约束)...
  7. c语言与python通信_python和c++通信示例
  8. php oracle 操作 sql语句中能不能添加数组_如何在PHP中使用Oracle数据库_php
  9. java需求设计_JavaWeb期末设计---需求分析文档. stage1
  10. Android Canvas类介绍和Android Draw Rect 坐标图示
  11. 8-1-Filter过滤器
  12. 基于Wi-Fi的HID注射器,利用WHID攻击实验
  13. 我35岁了,依然可以“横行职场”
  14. 白事碰上红事,徐渭应景吟诗
  15. 用实际程序来测试udp sendto函数的最大发包大小------为什么是65507?
  16. 做一个有意境的女人难上加难
  17. Go语言实现企业微信sdk,集成了第三方应用sdk和自建应用代开发的sdk,支持一键生成新sdk
  18. mysql 不等于 优化_Mysql优化
  19. 点击按钮弹出单选列表对话框和加载Webview
  20. 1.0 Linux 网络相关概念和修改IP地址的方法

热门文章

  1. python每条语句以什么结尾_c语言每条语句以什么结束
  2. 国外超帅气的SP主题
  3. 一文了解 OutOfMemory 及解决方案
  4. 哈哈哈!研究生模仿刘某存模拟答辩,网友评论笑不活
  5. 最小二乘法及OpenCv函数
  6. PHP8编译swoole,php安装swoole
  7. ubuntu11.10桌面怎么变成经典桌面
  8. zotero中引用文献格式修改
  9. Uni-app 小程序 微信登录 手机号登录
  10. 常见的网络变压器使用问题集中回答