
设计模式
设计模式
HackShendi
学习+实践=快乐
展开
-
[设计模式]职责链(责任链)模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏目录职责链模式定义优点缺点结构应用场景扩展实战总结可直接跳过此部分有一段时间没有写设计模式方面的文章了,这次因为某种需求使用到了责任链模式,于是记录一下首先讲一下我的需求我在做一个文件上传的功能,也就意味着需要将接收到的数据保存起来那么,保存在什么地方呢?我的项目后续会...原创 2020-12-23 19:24:50 · 1572 阅读 · 0 评论 -
[设计模式]委派模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏委派模式委派模式不是23设计模式中的一种.与策略模式很相似.拥有以下三种角色抽象任务角色 委派者角色 具体任务角色委派模式,就是将任务发给委派者角色,委派者角色去委派具体任务角色委派模式对外隐藏了具体实现,仅将委派者角色暴露给外部委派模式和策略模式不同的是,委派者角色和具体任务角色都要继承/实现抽象任务角色Spring框架很原创 2020-07-21 12:28:47 · 3642 阅读 · 0 评论 -
[设计模式]七大原则之开闭原则
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏开闭原则软件应该对扩展开放,对修改关闭当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求作用对软件测试的影响 软件遵守开闭原则的话,测试时只需要对扩展的代码进行测试就可以了, 因为原有的测试代码仍然能够正常运行 可以提高代码的可复用性 粒度越小,被复用的可能性就越大;在面向对.原创 2020-07-07 20:12:09 · 6881 阅读 · 0 评论 -
[设计模式]享元模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏享元模式运用共享技术来有效地支持大量细粒度对象的复用.它通过共享已经存在的对象来大幅度减少需要创建的对象数量,避免大量相似类的开销,从而提高系统资源的利用率优点相同对象只要保存一份,这降低了系统中对象的数量,从而降低了系统中...原创 2020-04-21 09:20:03 · 6588 阅读 · 0 评论 -
[设计模式]解释器模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏解释器模式提供如何定义语言的文法,以及对语言句子的解释方法文法指语言的语法规则,而句子是语言集中的元素正则表达式等都是解释器模式解释器模式是一种行为型模式优点扩展性好,由于在解释器模式中使用类来表示语言的文法规则,因...原创 2020-04-17 08:40:30 · 6782 阅读 · 0 评论 -
[设计模式]观察者模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏观察者模式多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为这种模式有时又称作发布-订阅模式,模型-视图模式,它是对象行为型模式优缺点优点: 降低了目标与观察者...原创 2020-04-15 11:30:55 · 6783 阅读 · 0 评论 -
[设计模式]原型设计模式
github地址:https://github.com/1711680493点我进入github如需了解更多设计模式,请进入我的设计模式专栏原型设计模式将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例在Java中将类实现Cloneable接口 以及重写 clone() 方法,来实现别的类对此类的克隆原型模式实例在一个游戏中,可以将角色作为原型,角色...原创 2020-04-14 21:12:55 · 6840 阅读 · 0 评论 -
[设计模式]单例设计模式
单例设计模式单例设计模式是指某个类只能生成一个实例(对象),该类提供了一个全局访问点供外部获取该实例.可以拓展为有限多例模式代码展示...原创 2020-04-14 20:39:47 · 6683 阅读 · 0 评论 -
Java[策略模式+工厂+配置]与[多态+反射+配置]总结
Hello,I'm Shendi这次总结一下学习设计模式与之前一些技巧的类似对比(纯手码,如有不对请指正)多态+反射+配置文件取代多分支结构这个很简单,易理解,就是定义一个接口,子类实现接口,重写指定方法来实现相同函数不同处理客户端通过配置方式获取类名,反射调用. 例子:根据用户输入,实现不同媒体的播放接口:interface Media { //播放媒体 ...原创 2020-03-06 14:04:53 · 7342 阅读 · 0 评论