• 设计模式学习(八)桥接模式组合模式装饰模式


    桥接模式

    桥接模式非常像适配器模式,都是用一个类将一种接口转换成另外一种接口,但是适配器模式的意图是:使一个或多个类的接口看起来像一个特定类的接口。桥接模式将类的接口和它的实现分离,无需修改客户端代码就可以改变或替换实现过程。

    桥接模式的效果:

    1 桥接模式可以保持客户端程序的接口不变,而允许读者修改显示类或要使用的类。这样可以防止重新编译一系列复杂的用户接口模块,而只需要重新编译Brudge和实际的最终显示类

    2 可以分别扩展实现类和Bridge类,二者之间通常不会有相互作用。

    3 对客户端程序很容易隐藏实现细节。

    组合模式

    组合就是对象的集合, 其中的每个对象既可以是一个组合,也可以是简单的对象。

    组合模式的效果:

    组合模式定义了包含简单对象和复杂组合对象的类层次结构,并使他们对客户端程序具有一致性。由于这种简化,客户端可以变得相当简单,因为节点和叶子可以用同样的方式去处理。

    组合模式使得向集合添加新类型的组件变得容易,只要这些组件提供一个相似的编程接口。另一方面,这也有缺点,就是使你的程序更加一般化,很难限制某个类,而通常都希望能做到这一点。

    组合模式的意图是,允许构建一棵由各种相关类组成的树,即使某些类具有不同的属性,某些类是叶子不能有孩子。

    装饰模式

    装饰模式提供一种方法:改变单个对象的行为,但不需要创建一个新的派生类。

    装饰模式提供了一种给一个类添加职责的方法,它比使用继承更加灵活,因为它能将职责加到类的指定实例中,它也允许定制一个类,而无需在继承层次结构中创建高层次子类。

    装饰模式的缺点:

    1 Decorator和它包含的组件是不一样的,这样,检测对象类型时会失败。

    2 装饰模式会使一个系统带有“大量的小对象”,对于维护代码的程序员来说,它们看起来都差不多,维护起来很困难。
  • 相关阅读:
    Django组件之cookie与session
    广商14级软件工程分数:第五回合
    广商14级软件工程分数:第四回合
    Oracle Flashback和RMAN示例
    广商14级软件工程分数:第三回合
    广商14级软件工程分数:第二回合
    《学习进度条》博客
    广商14级软件工程分数:第一回合
    学生博客列表-广商14级软件工程
    源代码管理的一些问题
  • 原文地址:https://www.cnblogs.com/xh831213/p/879857.html
Copyright © 2020-2023  润新知