首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
设计模式
kloein
创建于2022-06-28
订阅专栏
在学习设计模式过程中的笔记与分享~
暂无订阅
共22篇文章
创建于2022-06-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
存档!-Memento模式
许多玩过游戏的朋友知道,有些游戏有种堪称bug的功能-存档,在遇到不顺情况时可以重新读取存档,返回先前存档的时间点重新来过。 而Memento模式正是一种可以实现存档的设计模式。
将命令视为类-Command模式
很多情况下,我们操作一个对象,是通过对象所在的类中的方法来执行的。 然而这样的使用方式在部分情况下是复杂的(一个类中有许多执行操作方法),并且无法支持操作历史记录的需求。 这时候引入Command模式
只在必要时生成实例-Proxy模式
代理模式,顾名思义是委托代理人来进行某些工作的模式。 在现实生活中,一般在委托人过忙时,会寻找代理人帮忙处理,代理模式使用的环境和现实中是相似的。
共享对象,避免浪费-flyweight模式
在程序设计中,往往有这样一种对象,它在某个场景下大量被使用,如果一种通过new的方式创建的话,会导致大量的内存占用。 而flyweight模式,正是通过尽量共享对象的方式来减少资源的浪费。
使用类表示状态-State模式
在不同环境下,程序的处理往往是不同的。 一种解决方式是在程序里做对不同状态的判断,分别处理;而这里要展示的另一种解决方式是视状态为对象,在不同环境下通过对状态的切换来实现不同功能。
发送状态变化通知-Observer模式
Observer,译为观察者,观测者。 而在Observer模式中,当被观测对象发生改变时,观测者会得知改变并且对其进行相关反应,这种改变的得知是由被观测对象反映给观测者的。
交由仲裁者处理-Mediator模式
在工作中,往往遇到组员们各执己见的情况,或许他们各有其道理,但是如果都坚持自己观点互不退让,往往会降低工作效率乃至影响项目。此时,需要一位仲裁者出现,所有的情况告知仲裁者,让仲裁者统一决定。
提供对外简单窗口-Facade模式
对于一个复杂的系统,往往有多种构件,而对于使用者来说,完全使用基本的构建搭建是困难的,通常我们需要提供更为容易使用上层API
“推卸责任”-Chain of Respinsibility模式
一级级推卸“责任”的方式,在设计模式中便被称为Chain of Respinsibility模式。虽然“推卸”听起来有贬义的意思,都是实际上,这种责任推卸可以帮助我们一层层地寻找解决问题的对象。
根据数据结构访问数据-Visitor模式
在Composite模式中,文件的的输出是定义在文件类自身中,带来了较大的耦合性,而visitor模式可以将数据结构与处理分离开,达到了解耦的目的。
装饰边框与被装饰物的一致性-Decorator模式
说起装饰,我第一时间想到的是节日里给礼物的层层包装。 而装饰模式,就是提供特定的几个装饰器,不断给被装饰品添上一层层装饰,以实现丰富的外观形态。 而能够不断被装饰,需要装饰的“边框”与被装饰物有一致性
实现容器与内容的一致性-Composite模式
Composite模式:能够在容器(复合物)中放入内容甚至更小的容器,更小的容器中又能放入内容和更更小的容器,形成一种递归结构。而能够实现这种结构,需要容器与内容具有一致性。
整体地替换算法-Strategy模式
自古中国就有许多兵法家写下著名的战略,如《孙子兵法》、《三十六计》。而对于程序而言,在面对不同情况时,应该有着不同的应对策略(strategy)。 而Strategy模式便是这一要求的实现者。
分离类的功能层次与实现层次-Bridge模式
Bridge译为桥梁,在设计模式中可以如下理解: 分离类的功能层次和实现层次,使得两者解耦,不在聚集在同一个类中 在功能层次和实现层次间搭建桥梁,使得二者整合后能够完成完整的目标
将关联零件组装成产品-Abstract Factory模式
抽象工厂的抽象在于通过反射调用子类,拥有好的解耦性。本文简单介绍了设计模式中的抽象工厂模式,并且通过例子对抽象工厂的实现作展示。
通过组装生成复杂的实例-Builder模式
build意为建造,builder模式即建造模式。在建造复杂的物品时,可以先建造物体各部分,再把他们组装起来,这样可以提高建造效率。建造者模式便是如此。
复制生成实例-Prototype模式
prototype,中文译为原型、雏形,在 百度百科 中的解释为原来的类型或模型。 而在设计模式中的Prototype模式,就和上文中的原型释意所言,能够通过原型的实例来复制生成新的实例。
一个类只有一个实例-Singleon模式
单例模式想必有过编程经验的或多或少有所耳闻,如标题所言,对于单例模式而言,一个类只会存在一个对象,每次调用都是对该对象进行操作。
将实例的生成交给子类-Factory Method模式
工厂模式,正如其名字所言,可以不断地生产特定的符合某种规范的产品。 在父类中规范实例的生成方式 在子类中对实例的实现进行具体处理,在各类框架中广泛使用
将具体处理交给子类-template method模式
模板(template),在 百度百科中的解释为模板是将一个事物的结构规律予以固定化、标准化的成果,它体现的是结构形式的标准化 。可以理解为建立了一套方案,后续只需要按照方案按部就班即可完成
下一页