![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
抠脚的鱼
这个作者很懒,什么都没留下…
展开
-
设计模式之桥梁模式
目录由来目的适用场景结构角色效果实例由来传统地,当一个抽象可能有多个实现时,通常用继承来协调它们:抽象类定义该抽象的接口,具体的子类则用不同的方式加以实现。但是此方法有时不够灵活:继承机制将抽象部分与它的实现部分绑定,难以对抽象部分和实现部分独立地进行修改、扩充和重用。目的桥接模式将抽象部分与实现部分分离,使它可以独立的变化。适用场景不希望在抽象和它的实现部分之间有一个固定的绑定关...原创 2019-04-06 21:04:15 · 79 阅读 · 0 评论 -
设计模式之装饰模式
目录由来意图动机适用场合结构、角色和协作代码示例效果由来装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任,不改变接口,但加入责任(不是通过继承,而是通过组合实现)意图装饰模式别名包装器(Wrapper),旨在动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比子类更为灵活。动机希望给某个对象而不是整个类添加一些功能继承机制一种有效途径,但不够灵活较为灵活的方式...原创 2019-04-08 17:14:36 · 73 阅读 · 0 评论 -
设计模式之适配器模式
目录目的适用场景角色适配器类适配器对象适配器效果目的将一个类的接口转换成客户希望的另一个接口适用场景使用一个已存在的类,而它的接口不符合要求创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作使用一些已经存在的子类,但不可能通过子类化以匹配各自接口。对象适配器可以适配它的父类接口角色Client:代表引用用户期望接口的类Ta...原创 2019-04-03 09:58:00 · 71 阅读 · 0 评论 -
设计模式之代理模式
目录意图适用性结构与角色代码示例效果类似模式意图为其他对象提供一种代理以控制对这个对象的访问适用性远程(Remote) 代理:为一个对象在不同地址空间提供局部代表虚拟(Virtual) 代理:在需要创建开销很大对象时缓存对象信息保护(Protection) 代理:控制对原始对象的访问智能引用(Smart Reference)代理:当一个对象被引用时,提供一些额外的操作,例如记录访问...原创 2019-04-12 16:24:31 · 99 阅读 · 0 评论 -
设计模式之外观模式
目录设计原则意图动机适用性结构和参与者效果代码示例评价设计原则迪米特法则:应当使得软件的不同对象彼此之间尽量“老死不相往来”,降低系统维护成本意图提供了一个统一的接口,用来访问子系统中的一群接口Facade定义了一个高层接口,让子系统更容易使用动机将一个系统划分成为若干个子系统有利于降低系统的复杂性设计目标是使子系统间的通信和相互依赖关系达到最小途径之一是就是引入一个 外观...原创 2019-04-09 17:12:21 · 90 阅读 · 0 评论 -
设计模式之享元模式
目录意图和动机意图动机关键适用性结构与参与者代码示例效果意图和动机意图运用共享技术有效地支持大量细粒度的对象避免大量拥有相同内容的小类的开销使大家共享一个对象动机OO技术很好地解决一些灵活性或可扩展性问题某些情况对象数量太多,导致运行时代价巨大Flyweight是一个共享对象享元模式通过共享技术实现相同/相似对象重用关键关键概念是内部状态和外部状态内部状态存储于...原创 2019-04-13 10:52:46 · 172 阅读 · 0 评论 -
设计模式之组合模式
目录由来意图动机适用情形结构与参与者代码示例效果实现类似的模型由来组合模式有时候又叫做部分-整体模式。在树型结构的问题中,模糊了简单元素和复杂元素的概念, 客户程序可以向处理简单元素一样来处理复杂元素,使得客户程序与复杂元素的内部结构解耦。组合对象既可以包括单一对象,也可以包括组合对象意图将对象组合成树形结构——“部分/整体” 层次结构使用户对单一对象和组合对象使用具有一致性接口...原创 2019-04-10 09:39:12 · 97 阅读 · 0 评论 -
模板方法
目录由来意图、动机和适用性结构与参与者代码示例效果由来模板方法实现父类和子类对象之间职责的划分使用继承机制使得父类和子类之间达到分工合作的目的基类中确定算法框架(不变), 子类实现具体工作(可变)意图、动机和适用性意图定义一个操作中的算法的骨架,而将一些步骤延迟到子类中子类不需要改变算法结构即可重定义算法的某些步骤动机将相同的代码放在父类中,不同的方法实现放在不同的子类中...原创 2019-05-09 09:46:02 · 98 阅读 · 0 评论 -
设计模式之命令模式
目录意图和动机意图动机适用性结构和参与者协作效果意图和动机意图将请求封装为对象,用不同请求对客户参数化对请求排队或记录请求日志,支持可取消的操作动机对请求排队或记录请求日志,支持可取消的操作,对请求排队或记录请求日志,支持可取消的操作,只需在程序运行时指定具体的请求接收者即可只需在程序运行时指定具体的请求接收者即可适用性系统需要将请求调用者和请求接收者解耦,使得调用者和...原创 2019-05-17 15:12:50 · 143 阅读 · 0 评论