享元模式
- 动机
- 在软件系统采用纯粹对象方案的问题在于大量细颗粒度对象充斥在系统中,从而带来很高的运行时代价
- — 主要指 内存需求 方面的代价
- 在软件系统采用纯粹对象方案的问题在于大量细颗粒度对象充斥在系统中,从而带来很高的运行时代价
- 模式定义
- 运用 共享技术 有效的支持大量细颗粒度的对象
面向对象很好的解决了“抽象”的问题,但是必不可免的要付出一定的代价。对于通常情况来讲。面向对象的成本大都可以忽略不计。但在某些情况,面向对象所带来的成本必须谨慎处理
动机
使用时
动机
在某些情况下我们可能会”过度的使用继承来扩展对象的功能”,由于继承为类型引入静态特质,使得这种扩展方式缺乏灵活性。并且随着子类的增多(扩展功能的增多),使各子类的组合(扩展功能的组合)会导致更多子类的膨胀
动机
在软件构建过程中,我们需要为某些对象建立一种 (通知依赖关系)
—— 一个对象 ***(目标对象)*** 的状态发生改变,所有的依赖对象 ***(观察者对象)*** 都将得到通知。如果这样的依赖关系过于紧密,将使得软件不能很好的抵御变化使用面向对象技术,可以将这种依赖弱化,并形成一定稳定的依赖关系。从而实现软件体系结构的松耦合
策略模式
模式定义
定义一系列算法,把他们一个个封装起来,并且使他们可互相替换 (变化) 。改模式使得算法可以独立于使用他的客户程序 (稳定) 而变化 (扩展,子类话)