![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
天河一粟
这个作者很懒,什么都没留下…
展开
-
Java之23种设计模式
请点连接打开相关文章设计模式创建型模式 抽象工厂(AbstractFactory) 工厂方法(FactoryMethod) 单例模式(Singleton) 建造者模式(Builder) 原型模式(Prototype)结构型模式 适配器模式(Adapter) 桥接模式(Bridge) 组合器模式(Composite) 装饰模式(Decorator) 外观模式(门...原创 2019-05-09 17:08:54 · 538 阅读 · 0 评论 -
Java设计模式之单例模式
单例模式保证一个类仅有一个实例,并提供一个访问它的全局访问点。适用性1)当只需要创建一个对象时。举例例如世上只有一个中国,只能创建一个中国对象。例如只有一个北京,对象也只能创建一个。UML类图代码示例单例模式-饿汉模式package com.jin.demo.DesignPatterns.Singleton;/** * 单例模式-饿汉模式...原创 2019-05-18 10:38:04 · 174 阅读 · 0 评论 -
Java设计模式之命令模式
命令模式将一个请求封装为一个对象,从而可以用不同的请求对对象进行参数化。适用性1)抽象出待执行的动作以参数化某对象。2)支持取消操作。3)支持修改日志,这样当系统崩溃时,这些修改可以被重做一遍。举例例如古代皇帝想做什么就做什么,只需要下达命令即可。UML类图代码示例定义一个接收者,知道如何实施与执行一个请求相关的操作package com.j...原创 2019-05-12 11:32:25 · 196 阅读 · 0 评论 -
Java设计模式之抽象工厂模式
抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类;在工厂抽象类中有多个产品接口创建对象获取方法,功能更强大,扩展性更好;是工厂方法模式的进一步延伸;适用性1)一个系统要独立于它的产品的创建、组合和表示时。2)一个系统要由多个产品系列中的一个来配置时。3)当你提供一个产品类库,而只想显示它们的接口而不是实现时。4)当你要强调一系列相关的产品对象...原创 2019-05-15 14:21:19 · 789 阅读 · 0 评论 -
Java设计模式之工厂方法模式
工厂方法模式工厂方法是简单工厂的进一步的延伸,也可以说是抽象工厂的一个特例,解决了简单工厂违反“开发-封闭”原则问题,把工厂抽象出一个类,只不过只有一个产品;适用性1)当一个类不知道它所必须创建的对象的类的时候。2)当一个类希望由它的子类来指定它所创建的对象的时候。举例如哈佛汽车加工厂既可以生产跑车又可以生产卡车。UML类图代码示例定义哈佛汽车...原创 2019-05-15 14:20:34 · 350 阅读 · 0 评论 -
Java设计模式之简单工厂模式
简单工厂模式使用参数或者配置文件等事先定义好的变量,然后利用分支判断初始化具体产品类并返回;不符合“开发-封闭”原则,每次增加产品,都需要修改类方法。工厂类单一,不用维护大量的工厂类;适用性1)当一个类不知道它所必须创建的对象的类的时候。2)当一个类希望由它的子类来指定它所创建的对象的时候。举例如哈佛汽车加工厂既可以生产跑车又可以生产卡车。UML类图...原创 2019-05-15 14:19:54 · 445 阅读 · 0 评论 -
UML图解简单工厂模式&工厂方法模式&抽象工厂模式区别
简述工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一;工厂模式包含简单工厂模式&工厂方法模式&抽象工厂模式这三种;这三者主要区别在于工厂实现的复杂度,以及是否符合“开发-封闭”原则;工厂模式:说白了就是创建对象,使用Factory模式替代使用new创建对象。方便于维护对象;简单工厂模式:使用参数或者配置文件等事先定义好的变量,然后利用分...原创 2019-05-15 14:18:58 · 5857 阅读 · 0 评论 -
Java设计模式之桥接模式
桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。适用性1)你不希望在抽象和它的实现部分之间有一个固定的绑定关系。例如这种情况可能是因为,在程序运行时刻实现部分应可以被选择或者切换。2)类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。这时Bridge模式使你可以对不同的抽象接口和实现部分进行组合,并分别对它们进行扩充。3)对一个抽象的实现部分的修改...原创 2019-05-09 17:11:39 · 2231 阅读 · 0 评论 -
Java设计模式之策略模式
策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。适用性1)许多相关的类仅仅是行为有异。Strategy模式提供了一种用多个行为中的一个行为来配置一个类的方法。2)需要使用一个算法的不同变体。例如:加减乘除3)算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。4)一个类定义了多...原创 2019-05-09 17:11:02 · 172 阅读 · 0 评论 -
Java设计模式之装饰模式
装饰模式就是动态地给一个对象添加一些额外的功能,比使用子类更为灵活。适用性- 在不影响其他对象的情况下,以动态、透明的方式给单个对象添加功能。- 处理那些可以撤消的职责。- 当不能使用子类的方法进行扩充时。举例例如人是要吃饭的,通过Decorator模式增加饭前洗手功能,增加饭后刷牙功能。UML类图 代码示例定义一个Person接口类,给这个接口动态的添加功能pack...原创 2019-05-09 17:10:20 · 236 阅读 · 0 评论 -
Java设计模式之适配器模式
适配器模式将一个类的接口转换成业务需求的另一个接口,适配器模式使原本两个或多个不兼容的接口可以兼容一起工作。适用性1)想使用已经存在的接口,而不符合现在的需求。2)想创建一个可以服用的类,该类可以与不相关类的或不可预知的类协同工作。3)想使用一些已经存在的子类,而又不想为每个子类新增转换接口,而适配器对象可以适配其父类接口。举例例如电脑都有一个适配电源,可以接入...原创 2019-06-18 16:14:02 · 177 阅读 · 0 评论