上一页 1 2 3 4 5 6 7 8 ··· 29 下一页
摘要: 备忘录模式是“状态变化”模式中的一种。 动机 在软件构建过程中,某些对象的状态在转换过程中,可能 由于某种需求,要求程序能够回溯到对象之前的某个点时的状态。如果使用一些公有接口来让其他对象得到对象的状态,便会暴露对象的细节实现。 如何实现对象状态的良好保存与恢复,但同时又不会因此而破坏对象本身的封装 阅读全文
posted @ 2021-11-04 14:51 朱果果 阅读(53) 评论(0) 推荐(0) 编辑
摘要: “状态变化”模式 在组件构建过程中,某些对象的状态经常面临变化,如何对这些变化进行有效的管理?同时又维持高层模块的稳定?“状态变化”模式应运而生。典型模式 :State、 Memento State 状态模式 在实际开发中,经常会遇到,一个对象有多种状态,在每一个状态下,都有不同的行为。如下: 1 阅读全文
posted @ 2021-11-03 10:22 朱果果 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 中介者也属于“接口隔离”模式中的一种。 动机 在软件构建中,会出现多个对象相互关联交互的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。 在这种情况下,我们可以使用一个“中介对象”来管理对象间的关联关系,避免相互交互对象之间的紧耦合引用关系,从 阅读全文
posted @ 2021-11-02 17:16 朱果果 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 适配器也属于“接口隔离”模式的一种。 动机 在软件系统中,由于应用环境的变化,常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是对这些现存对象不满足的。 如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口? 生活中的Adapter 模式 阅读全文
posted @ 2021-11-02 16:06 朱果果 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 代理模式也是“接口隔离”模式的一种。 动机 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或某些操作系统需要安全控制,或需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。 如何在不失去透明操作对象的同时来管理、控制这些对象特有的复杂性?增加一层间接层是软件开发中常见 阅读全文
posted @ 2021-11-02 15:08 朱果果 阅读(51) 评论(0) 推荐(0) 编辑
摘要: “接口隔离”模式在组件构建过程中,某些接口之间直接的依赖常常会带来很多问题,甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来相互紧密关联的接口是一种常见的解决方案。典型模式 门面模式 代理模式 适配器 中介者 门面模式 系统间耦合的复杂度 方框内部是子系统,外部是客户系统 动机 上述A方案 阅读全文
posted @ 2021-11-02 10:37 朱果果 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 动机 在软件系统中采用纯粹对象方案的问题在于大量细粒度的对象会很快充斥在系统中,从而带来很高的运行代价 — 主要指内存需求方面的代价。 如何避免大量细粒度对象问题的同时,让外部客户程序仍然能够透明地使用面向对象的方式来进行操作? 模式定义 运用共享技术有效地支持大量细粒度对象。 —— 《设计模式》G 阅读全文
posted @ 2021-11-01 18:00 朱果果 阅读(35) 评论(0) 推荐(0) 编辑
摘要: “单一职责”模式:在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。典型模式 • Decorator • Bridge 模式定义 动态(组合)地给一个对象增加一些额外的职责。就增加功能而言,Decorator模 阅读全文
posted @ 2021-11-01 10:51 朱果果 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Bridge桥模式也属于”的单一职责“模式中的典型模式。问题描述:我们绘制图形时,图形可以有不同形状以及不同颜色,比如圆形可以是红的,绿的,方形可以是红的绿的,如果用代码来描绘这些类,会有如下: 1 class Shape{ 2 }; 3 class Rectangle : public Shape 阅读全文
posted @ 2021-10-29 14:27 朱果果 阅读(599) 评论(0) 推荐(1) 编辑
摘要: “对象性能”模式 面向对象很好的解决了“抽象”的问题,但是不可避免付出一定代价,如虚函数。通常情况,面向对象的成本可忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。 典型模式 单件模式 享元模式 单例模式 动机 在软件系统中,经常有一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保 阅读全文
posted @ 2021-10-27 18:06 朱果果 阅读(54) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 29 下一页