![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
荣大帅
这个作者很懒,什么都没留下…
展开
-
java设计模式-目录
java设计模式-目录java设计模式有23种,三大类创建型模式(Creation)行为型模式(Behavioral)结构型模式(Structural) java设计模式有23种,三大类 创建型模式(Creation) 行为型模式(Behavioral) 责任链模式(Chain of Responsibility) 观察者模式(Observer) 策略模式(Strategy) 模板方法模式(Te...原创 2019-02-15 18:35:29 · 492 阅读 · 0 评论 -
java设计模式-创建型模式-简单工厂模式
简单工厂模式 简单工厂模式,有一个工厂类,根据传入的参数不同,创建不同的对象。又叫静态工厂方法类 三个角色 工厂类,用来创建对象 抽象对象类,所有需要被创建的对象的父类,封装一些公共的属性或方法 具体对象类,被创建的类 例子 玩具工厂,传入想要生产的玩具名字,生产对应的玩具 抽象类 public abstract class Toy { public abstract v...原创 2019-03-03 18:16:04 · 281 阅读 · 0 评论 -
java设计模式-创建型模式-抽象工厂模式
抽象工厂模式 当工厂生产的具体产品不只是一个简单对象,而是要生产多组不同类型的产品时,使用工厂方法模式就不适用了。 举例:有一个汽车零件工厂,负责生产一种汽车的零件。零件有发动机、轮子、车身,那么系统中就会有三个工厂类,发动机工厂类,车身工厂类,方向盘工厂类。这时增加了需求,有两家汽车品牌和该工厂开始合作,那么系统中就会增加三个零件类,三个工厂类,这样的话,系统中的类会大量增加,再使用工厂方法模...原创 2019-03-05 23:39:07 · 234 阅读 · 0 评论 -
java设计模式-创建型模式-工厂方法模式
工厂方法模式 工厂方法模式,是在简单工厂的基础上,弥补了简单工厂的缺点(新增加需要被创建的对象需要修改工厂类,违背开闭原则) 工厂方法模式不再通过一个工厂来创建各种对象,而是针对每一个对象,创建一个对应的工厂 四个角色 抽象工厂类:定义了抽象工厂方法 具体工厂类:抽象工厂类的子类,实现抽象工厂方法,返回具体对象的实例 抽象对象类:抽象工厂类定义的抽象工厂方法返回的对象类型,是所有具体对象类的...原创 2019-03-04 23:02:00 · 155 阅读 · 0 评论 -
java设计模式-行为型模式-备忘录模式
备忘录模式 备忘录模式,顾名思义为了就是实现一个“备忘”的功能而存在的。官话:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可以将该对象恢复至原先保存的状态。 三个角色 Originator:发起人,就是想要实现备忘功能的角色 Memento:备忘类,帮助实现备忘功能的角色,拥有和发起人一样的想要备份的属性,发起人通过备忘录类来恢复之前的数据 CareT...原创 2019-02-25 14:21:34 · 212 阅读 · 0 评论 -
java设计模式-行为型模式-责任链模式
责任链模式 责任链模式,发送者发送请求给接收者,接收者是一个链,一个接收者不满足条件的话,把请求转发给下一个请求者,接收者拥有下一个接收者的引用。 两个角色 请求者 接收者 例子:有一笔大额订单需要领导审批 共有三级领导,一级领导处理1万元以下的订单,二级领导处理1万-2万元的订单,三级领导处理2万以上的订单 定义一个订单类(Order) public class Order { ...原创 2019-02-17 11:19:31 · 209 阅读 · 1 评论 -
java设计模式-行为型模式-观察者模式
观察者模式 观察者模式,是实现对象之间联动的一种解决方案,当一个对象发生变化,其他对象会得到通知 四个角色 抽象观察者(Observer) 具体观察者(ConcreteObserver) 抽象目标(Target) 具体目标(ConcreteTarget) 例子:RNG战队五名成员,letme、xiaohu、mlxg、uzi、ming。当有一名队友遭受到攻击时,其他队友都知道了他被攻击,都前...原创 2019-02-17 10:47:25 · 219 阅读 · 0 评论 -
java设计模式-行为型模式-模板方法模式
模板方法模式 模板方法模式,定义一个功能的实现流程,封装共有的流程,公开需要不同实现的步骤(方法),使得不同子类在固定整个功能骨架的情况下,来实现统一功能的不同表现 两个角色 抽象父类(定义功能的实现流程/步骤) 具体实现子类 例子:把不同的东西放入冰箱,总共分三步,打开冰箱门、放东西、关上冰箱门 定义了放东西的三个步骤,私有第一步和第三步,公开第二步给子类来使用,子类不用自己再操作一遍...原创 2019-02-15 18:35:39 · 177 阅读 · 0 评论 -
java设计模式-行为型模式-策略模式
策略模式 策略模式,就是定义一组策略算法,将每一个策略算法封装成一个类,是它们之间可以相互替换 三个角色 Strategy 抽象策略对象(接口/抽象类) ConcreteStrategy 具体策略算法对象 Context 封装角色(具体计算) 例子: 商品价格根据会员等级打折扣 假设会员等级有三个级别,一级会员商品价格打九折,二级打八折,三级打七折,计算不同会员等级下对应商品的实际价格。...原创 2019-02-15 18:35:49 · 199 阅读 · 0 评论 -
java设计模式-创建型模式-单例模式
单例模式 单例模式,保持对象的唯一性。 私有构造方法,提供一个返回具体对象的方法。 饿汉式单例模式 对象在使用前已经被创建好,所以无论怎样调用,返回的都是同一个对象,所以是线程安全的 public class EagerSingleton { /** * 饿汉式直接初始化 */ private static EagerSingleton ins...原创 2019-03-11 21:37:25 · 176 阅读 · 0 评论