首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

C++ 桥接模式 - 开关和电器

Abstraction(抽象类):用于定义抽象类的接口,并且维护一个指向 Implementor 实现类的指针。它与 Implementor 之间具有关联关系。...Implementor(实现类接口):定义实现类的接口,这个接口不一定要与 Abstraction 的接口完全一致,事实上这两个接口可以完全不同。...在程序运行时,ConcreteImplementor 对象将替换其父类对象,提供给 Abstraction 具体的业务操作方法。 2 优缺点 优点: 分离抽象和实现部分。...也就是说,每个 ISwitch 应该持有一个 IEquipment 对象: // abstraction.h #ifndef ABSTRACTION_H #define ABSTRACTION_H #...创建扩充抽象类 特定类型的开关很多,比如拉链式开关、两位开关: // refined_abstraction.h #ifndef REFINED_ABSTRACTION_H #define REFINED_ABSTRACTION_H

67420

Golang语言情怀-第20期 Go 语言设计模式-桥接

–定义实现类的接口,该接口不一定要与abstraction的接口完全一致;事实上这两个接口也可以完全不同。...一般来讲,implementor接口仅提供基本操作,而abstraction定义了基于这些操作的较高层次的操作。...将abstraction与Implementor分离有助于降低对实现部分编译时刻的依赖性,当改变一个实现类时,不需要重新编译abstraction类和客户重新。...另外,接口和实现分离有助于分层,从而产生更好的结构化系统,系统的高层部分只要知道abstraction和implementor即可。...2)提高可扩展性,可以独立对Abstraction和Implementor层次进行扩展。 3)实现细节对可对客户透明。 缺点: 不容易设计,需不需要分离,如何分离等问题。比较难以拿捏。

43910
领券