摘要: 概述 属于结构型模式 提供代理作为对象的替代品或其占位符,代理控制对原对象的访问,并可对请求在提交给对象前后进行一些处理 由于某种原因(如对象创建开销很大,某种操作需要安全控制,或者需要进程外访问等)直接访问会给使用者或者系统结构带来很多麻烦 如何在不失去透明操作对象的同时来管理 / 控制这些对象特 阅读全文
posted @ 2020-06-07 23:16 cxc1357 阅读(167) 评论(0) 推荐(0)
摘要: 概述 也称外观模式 按目的属于结构型模式,按封装属于接口隔离模式 在组件构建过程中,某些接口之间的依赖常常会带来很多问题、甚至根本无法实现。采用添加一层间接(稳定)接口,来隔离本来互相紧密关联的接口 软件是人和硬件间的间接,操作系统是软硬件间的间接,虚拟机是操作系统和软件间的间接 电脑外部接口(显示 阅读全文
posted @ 2020-06-07 21:57 cxc1357 阅读(239) 评论(0) 推荐(0)
摘要: 概述 数据结构模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用 将这些特定数据模式封装在内部,对外提供统一的接口,来实现与特定数据结构无关的访问 典型模式:Composite, Iterator, Chain of Resposibility 阅读全文
posted @ 2020-06-07 18:46 cxc1357 阅读(200) 评论(0) 推荐(0)
摘要: 概述 属于“单一职责”模式(子类膨胀,需要划清职责) 属于结构型模式,可将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,从而在开发时分别使用 动机:某些类型固有的实现逻辑,使得它们有多个变化的维度 如何应对多维度变化,如何利用面向对象技术来使得类型可以轻松沿着多个方向变化,而不引入 阅读全文
posted @ 2020-06-07 17:15 cxc1357 阅读(196) 评论(0) 推荐(0)
摘要: 类之间关系(由强到弱) realize(继承):三角+实线(指向类),继承类(SUV是一种汽车) generalization(实现):三角+虚线(指向接口),实现接口(汽车是一种车) composition(组合):实菱形+实线(指向个体),强依赖(汽车没了,发动机就没了),特殊的聚合,构造函数 阅读全文
posted @ 2020-06-07 11:50 cxc1357 阅读(198) 评论(0) 推荐(0)
摘要: 概述 由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但新环境要求的接口是这些现存对象所不满足的 如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口? Adapter举例 将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼 阅读全文
posted @ 2020-06-07 11:43 cxc1357 阅读(191) 评论(0) 推荐(0)