前言
这里又学习一个新的原则,合成/聚合复用原则~。下面一起来看~
桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立的变化。这也是和合成/聚合分不开的。
也就是实现系统可能有多角度分类,每一种分类都有可能变化,那么就是把这种多角度分离出来让它们独立变化,减少耦合。这也符合了开放-封闭原则。
幽默一下:
两个抽象类之间有一条聚合线,像一座桥一样,所以名为桥接模式~
场景
比如我们的手机。手机里有很多软件,不同的手机软件不同,但是往往也有相同的软件,如果我们将每一种软件独立开,那么不同的手机只要拿自己需要的软件部分就可以了。我们需要增加功能的话也不用修改原来的代码,扩展类就可以。运用合成/聚合原则,优先使用对象的合成或聚合,而不是类继承。
应用
我们需要多角度去分类实现对象,而只用继承会造成大量的类增加,不能满足开放-封闭原则时,就应该考虑桥接模式。
代码展示
拿手机品牌与软件举例子:
手机软件抽象类:
abstract class HandsetSoft
{
public abstract void Run();
}
手机软件具体类