设计模式
phs999
这个作者很懒,什么都没留下…
展开
-
软件开发设计思想与6大软件设计原则、23种设计模式目录-设计模式
软件开发设计思想与6大软件设计原则、23种设计模式目录及链接原创 2020-08-30 20:41:47 · 5473 阅读 · 0 评论 -
state状态模式-设计模式-行为型
1、需求场景某银行要开发一套信用卡业务系统,银行账户(Account)是该系统的核心类之一,通过分析,账户存在三种状态,且在不同状态下账户存在不同的行为,具体说明如下: (1) 如果账户中余额大于等于0,则账户的状态为正常状态(Normal State),此时用户既可以向该账户存款也可以从该账户取款; (2) 如果账户中余额小于0,并且大于-2000,则账户的状态为透支状态(Overdraft State),此时用户既可以向该账户存款也可以从该账户取款,但需要按天...原创 2020-08-30 17:29:39 · 840 阅读 · 0 评论 -
TemplateMethod模板方法-设计模式-行为型
定义了一个算法的骨架,并允许子类为一个或多个步骤提供实现。固定不变的方法用final限制,必须实现的用抽象方法,可以选择的重写或不重写则可以实现一个样例标准方法,由子类决定是否重写。package behavioral.templatemethod.example2;public abstract class ACourse { protected final void makeCourse(){ this.makePPT(); this.makeV...原创 2020-08-29 23:45:28 · 136 阅读 · 0 评论 -
Memento备忘录模式、序列化与反序列化-设计模式-行为型
通过写博客文章保存与回退的场景学习备忘录模式,同时介绍序列化与反序列。原创 2020-08-29 22:47:56 · 236 阅读 · 0 评论 -
Prototype原型模式-设计模式-创建型
介绍了Prototype原型模式设计模式的实现方式和关键点。深拷贝与浅拷贝问题如果不不注意,容易导致程序问题。最后给出了ArrayList中实现原型模式的方法。原创 2020-08-27 23:24:30 · 228 阅读 · 0 评论 -
bridge桥接模式-设计模式-结构型
1、场景毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够绘制12种不同的颜色,如果使用蜡笔,需要准备3×12 = 36支,但如果使用毛笔的话,只需要提供3种型号的毛笔,外加12个颜料盒即可,涉及到的对象个数仅为3 + 12 = 15,远小于36,却能实现与36支蜡笔同样的功能。如果增加一种新型号的画笔,并且也需要具有12种颜色,对应的蜡笔需增加12支,而毛笔只需增加一支。https://blog.csdn.net/LoveLion/article/details/7464183分离场景...原创 2020-08-24 08:31:55 · 310 阅读 · 0 评论 -
Adapter/Wrapper适配器模式/接口转换器-设计模式-结构型
Adapter/Wrapper适配器模式/接口转换器-设计模式-结构型原创 2020-08-23 23:59:22 · 336 阅读 · 0 评论 -
Builder建造者/构建者模式-设计模式-创建型
构建者模式builder原创 2020-08-23 12:15:57 · 200 阅读 · 0 评论 -
通俗讲解visitor访问者模式及其与策略模式的比较-设计模式-表现型
电脑装机的场景学习访问者模式,并比较学习策略模式。原创 2020-08-21 01:22:35 · 1380 阅读 · 0 评论 -
Iterator迭代器模式与JDK实现分析应用-设计模式-行为型
Iterator迭代模式实现的类图与角色介绍,jdk中的源码实现原创 2020-08-19 06:00:55 · 225 阅读 · 0 评论 -
proxy代理模式-设计模式-结构型
静态代理与动态代理,JDK动态代理与cglib原创 2020-08-16 19:10:40 · 253 阅读 · 0 评论 -
flyweight享元模式/轻量级模式-设计模式-结构型
享元模式核心原理介绍学习及jdk源码应用介绍。原创 2020-08-14 01:51:02 · 175 阅读 · 0 评论 -
通俗理解组合模式(Composite)-设计模式-结构型
通过文件夹及文件、课程包与课程的例子,理解整体与局部的关系,从而理解组合模式。另外通过对JDK和Mybatis代码具体,展示该设计模式的应用场景。原创 2020-08-11 23:21:35 · 549 阅读 · 0 评论 -
通俗讲解Observer观察者模式(监听者模式)-设计模式-行为型
通俗讲解观察者模式的核心原理,并给出实际场景应用代码与源码解析。观察者模式的核心思路就是主动广播通知。维护一个观察者的列表,即被通知者的列表,然后根据事件源的某些状态变化,触发通知操作。然后观察者接收到通知后做出相应的操作。原创 2020-08-09 19:01:14 · 880 阅读 · 0 评论 -
通俗详细讲解装饰者设计模式-设计模式-结构型
使用煎饼果子加蛋、加两个蛋、加辣椒等等具体需求的场景,给出使用装饰者模式的优化代码,体会该设计模式的优点。同时看一下JDK中的IO源码是怎么应用装饰者模式的,原创 2020-08-05 22:46:38 · 234 阅读 · 0 评论 -
Chain of Responsibility Pattern责任链模式/职责链模式是怎么一回事?-设计模式
通过报销单审批、注册信息校验等等场景,理解责任链模式是怎么一回事。同时通过代码实现一个具体的场景,并通过Servlet中Filter过滤器的例子,加深对责任链模式的理解。原创 2020-07-29 00:16:59 · 241 阅读 · 0 评论 -
Mediator中介者模式/调停者模式-设计模式
Mediator中介者模式,又称调停者模式,实现了多个类之间交互的解耦。原创 2020-07-14 05:27:26 · 234 阅读 · 0 评论 -
facade外观模式/门面模式(通过积分商城的例子理解外观模式)-设计模式
facade外观模式,又称门面模式,通过积分商城的例子理解外观模式。原创 2020-07-12 14:59:42 · 431 阅读 · 0 评论 -
3.抽象工厂设计模式在坦克大战中的应用-设计模式之坦克大战
坦克大战使用抽象工厂模式优化代码,代码调整中的一些体会感悟。原创 2020-07-08 23:54:31 · 358 阅读 · 1 评论 -
抽象工厂设计模式-设计模式
抽象工厂设计模式,优点缺点、代码实现、在Mybatis源码中的应用。原创 2020-07-04 17:19:25 · 441 阅读 · 0 评论 -
工厂方法与抽象工厂设计模式区别与对比-设计模式
工厂方法模式的介绍看这里:https://blog.csdn.net/phs999/article/details/107028236工厂方法与抽象工厂的区别在于,工厂方法是对产品维度的扩展,抽象工厂是对产品一族进行扩展。同一产品族都是由同一个工厂生产的,位于不同的产品等级结构产品族:美的生产的 洗衣机 空调属于同一产品族,在坦克大战里,坦克、炮弹、爆炸效果等属于一个产品族,不同的产品族可能对应了不同的界面效果。我们需要整体扩展一个界面UI的产品族时,可以使用抽象工厂设计模式。产原创 2020-07-04 14:24:38 · 562 阅读 · 0 评论 -
工厂方法设计模式-设计模式
工厂方法设计模式,介绍、代码示例、源码应用原创 2020-06-30 07:06:56 · 308 阅读 · 1 评论 -
简单工厂设计模式
简单工厂设计模式是创建型的设计模式,但不属于GOF23种设计模式优点是只需要传入一个正确的参数,就可以获取你所需要的对象,而无需知道其创建细节。缺点是工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑。基本介绍完成后,会给出优化版的代码,以更好的支持新增其他产品种类’原创 2020-06-27 01:11:59 · 123 阅读 · 0 评论 -
策略模式(示例1:通过实现Comparator接口定义不同的比较策略;示例2:促销策略)-设计模式
策略模式(示例1:通过实现Comparator接口定义不同的比较策略,实现普通对象排序;示例2:促销策略的定义与扩展)-设计模式原创 2020-06-21 19:37:18 · 435 阅读 · 0 评论 -
单例模式详细总结(优缺点、可用方案、演进与原理)-设计模式
饿汉式单例模式、懒汉式单例模式、枚举单例模式的优缺点,单例模式多版本演进与原理。涉及线程安全(多线程)、反序列化、反射攻击等原创 2020-06-10 00:28:42 · 405 阅读 · 0 评论