设计模式
文章平均质量分 95
本专栏收录本人学习设计模式的相关总结和分享
纸短勤常在
萌新一枚,请多指教!
展开
-
Java设计模式之组合模式详解
文章目录详解Java设计模式之组合模式案例引入组合模式定义模式类图结构相关角色典型代码案例分析类图设计实例代码结果分析JavaJDK中的组合模式透明组合模式安全组合模式组合模式优点组合模式缺点组合模式适用环境详解Java设计模式之组合模式案例引入Windows的操作系统目录结构如下分析在树形目录结构中,包含文件和文件夹两类不同的元素在文件家中可以继续包含子文件夹在文件中不能在包含子文件(word中嵌入图片不是一个概念)文件夹也叫作容器(Container)节点文件也叫作叶原创 2021-12-21 16:24:32 · 2000 阅读 · 0 评论 -
Java设计模式之适配器模式详解(类适配器、对象适配器、缺省适配器、双向适配器)
文章目录详解Java设计模式之适配器模式结构型模式结构型模式分类类结构型模式对象结构型模式结构性模式一览表案例引入适配器模式适配器模式定义适配器模式结构类适配器适配器的模式结构实例分析缺省适配器模式双向适配器类图结构典型代码片段适配器模式的优点适配器模式的缺点模式适用环境详解Java设计模式之适配器模式结构型模式结构型模式关注如何将现有类或对象组织在一起形成更加强大的结构。不同的结构型模式从不同的角度组合类或对象,它们尽可能满足各种面向对象设计模式的同时为类或对象的组合提供一系列巧妙的解决原创 2021-12-20 09:09:52 · 1163 阅读 · 1 评论 -
Java设计模式之外观模式详解
文章目录详解Java设计模式之外观模式案例引入分析外观模式定义模式结构类图包含角色典型代码案例分析类图分析代码抽象外观类类图典型代码外观模式与单例模式的联用外观模式优点外观模式的缺点外观模式的适用条件详解Java设计模式之外观模式案例引入为一个复杂的子系统提供一个简单的入口分析一个客户类和多个业务类进行交互,而这些需要交互的业务类经常会作为一个整体出现。引入一个新的外观类(Facade)来负责多个业务类或者说是子系统,而客户类只需要与外观类进行交互为了业务类的调用提供一原创 2021-12-21 17:29:43 · 1651 阅读 · 0 评论 -
Java设计模式之桥接模式详解
文章目录详解Java设计模式之桥接模式案例引入**毛笔与蜡笔的故事**分析桥接模式定义模式结构类图表示角色实例分析类图分析实例代码桥接模式与适配器的模式联用详解Java设计模式之桥接模式案例引入**毛笔与蜡笔的故事**分析桥接模式定义模式结构类图表示角色实例分析类图分析实例代码桥接模式与适配器的模式联用适配器模式的优点适配器模式的缺点模式适用环境适配器模式的优点适配器模式的缺点模式适用环境详解Java设计模式之桥接模式案例引入毛笔与蜡笔的故事分析蜡笔:颜色和型号两个不同的变化维度(也就是两个不原创 2021-12-20 21:09:21 · 1260 阅读 · 0 评论 -
一文弄懂Java设计模式之单例模式:负载均衡器实例
文章目录详解Java设计模式之单例模式案例引出单例模式单例模式定义模式UML图表示单例模式结构案例分析案例类图相关代码饿汉式单例UML表示核心代码分析懒汉式单例UML表示饿汉式代码-基础版(延迟加载)饿汉式代码-改进版锁方法饿汉式代码-改进版锁代码段饿汉式代码-改进版之双重检查锁定饿汉式与懒汉式的比较模式优点模式缺点模式适用环境详解Java设计模式之单例模式案例引出单例模式可以看到,在正常情况下只能打开唯一的一个任务管理器!那么?如何去保证一个类只有一个实例并且这个实例易于被访问呢?使用全局变原创 2021-12-05 23:21:18 · 1025 阅读 · 0 评论 -
一文弄懂Java设计模式之原型模式:图解+周报记录实例
文章目录详解Java设计模式之原型模式案例引入原型模式原型模式定义模式分析模式结构UML表示模式包含的角色深克隆和浅克隆浅克隆实例案例分析浅克隆解决方案及代码原型管理器定义UML类图代码实现模式优点模式缺点模式适用环境详解Java设计模式之原型模式案例引入原型模式孙悟空拔毛变小猴分析孙悟空:根据自己的形状和模样复制(克隆)出多个身外身软件开发:通过复制一个原型对象得到多个与原型对象一模一样的新对象 原型模式定义原型模式:使用原型对象实例指定待创建的对象的类型,并且原创 2021-12-05 11:55:34 · 874 阅读 · 0 评论 -
一文弄懂Java设计模式之建造者模式:图解+游戏角色生成实例
文章目录详解Java设计模式之建造者模式案例引入建造者模式建造者模式定义UML类图表示模式结构案例分析与代码实现案例类图实现代码结构代码实现结果分析指挥者类的深入讨论钩子方法的引入模式优点模式缺点模式适用环境详解Java设计模式之建造者模式案例引入建造者模式某个复杂对象(此处以汽车为例)分析:如何将这些部件组装成一辆完整的汽车呢?并返回给用户?这就需要建造者模式建造者模式定义 建造者模式:将一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。 Bu原创 2021-12-03 16:16:08 · 1513 阅读 · 0 评论 -
一文弄懂Java设计模式之抽象工厂模式:图解+换皮肤代码实例
文章目录详解Java设计模式之抽象工厂模式产品等级结构和产品族产品等级结构产品族从产品等级结构和产品族看工厂工厂方法模式抽象工厂模式案例引入抽象工厂模式抽象工厂方法定义UML类图模式角色案例代码分析类图示例代码示例开闭原则的倾斜性模式优点模式缺点模式适用环境详解Java设计模式之抽象工厂模式产品等级结构和产品族产品等级结构产品等级结构也就是产品的继承结构产品族产品族是指同一个工厂生产的,位于不同产品等级结构中的一组产品从产品等级结构和产品族看工厂工厂方法模式 每个具体工厂只有一原创 2021-12-01 16:19:37 · 1417 阅读 · 0 评论 -
一文叫你弄懂Java设计模式之工厂方法模式:图解+日志记录器代码实例
文章目录详解Java设计模式之工厂方法模式案例引入工厂方法模式工厂方法模式详解Java设计模式之工厂方法模式案例引入工厂方法模式如图是使用简单工厂模式设计的按钮工厂从上图使用简单工厂方法模式可以看到,一旦我们需要新增一个具体产品,就必须去修改工厂类,这必然会违反开闭原则。而按照如下方式进行改进之后经过改进之后,我们发现如果我们要新增一种产品,这里是指椭圆形按钮,我们只需要增加生产他的对应的工厂类就可以,就无需再去修改抽象按钮工厂。以上使用的改进模式称为工厂方法模式我们现在简单分析一原创 2021-11-30 17:37:54 · 2092 阅读 · 0 评论 -
一文教你弄懂Java设计模式之简单工厂模式:图解+图表库代码实例
文章目录详解Java设计模式之简单工厂模式创建型模式简单工厂模式详解Java设计模式之简单工厂模式创建型模式Creational Pattern 关注对象的创建过程该模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用相分离,对用户隐藏了类的实例创建细节该模式描述如何将对象的创建与使用相分离,让用户在使用对象时无需关注对象创建过程,从而降低系统的耦合度让设计方案易于修改和扩展关注点创建什么what谁来创建who何时创建when创建模式一览原创 2021-11-28 17:23:17 · 1522 阅读 · 0 评论 -
实例图解设计模式之面向对象设计七大原则
文章目录面向对象设计原则详解面向对象设计原则概述常用的面向对象设计原则单一职责原则(Single Responsibility Principe)SRP ★★★★☆开闭原则(Open-Closed Principle)OCP ★★★★★里氏代换原则 Liskov Substitution Principle (LSP)★★★★★依赖倒转原则 Dependency Inversion Principle (DIP)★★★★★接口隔离原则 Interface Segregation Principle (ISP原创 2021-11-28 11:41:35 · 901 阅读 · 0 评论