概述
在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。
意图
将抽象部分与实现部分分离,使它们都可以独立的变化。
结构图
模仿手机安装软件的例子
新建手机和应用类
|
|
手机具体实现类
|
|
应用具体实现类
|
|
客户端实现代码
|
|
运行结果
|
|
扩展程序:新增应用
只需增加一个实现类
|
|
修改客户端代码:
|
|
运行结果
|
|
Learn and live
在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。
将抽象部分与实现部分分离,使它们都可以独立的变化。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|