【发布时间】:2014-11-08 07:09:59
【问题描述】:
在提供不用于派生的公共 API 类时,我发现通过从它们派生而不是添加和实现桥来提供它们的实现更方便。
抽象的实现不必是可替换的。唯一的要求是将实现与抽象(公共接口)分开。
PublicApiAssembly.dll:
public abstract class PublicApi // Clients don't need to derive from it
{
internal PublicApi() {}
public abstract void Calculate();
}
ImplementationAssembly.dll(引用 PublicApiAssembly.dll 和所有其他依赖项来实现抽象):
internal class PublicApiImpl : PublicApi
{
public override void Calculate() {}
}
请问这仍然是实现派生自抽象的桥接模式吗?
Wikipedia 在说“可以使用继承来分离职责”时让我认为这是桥接模式的实现。
谢谢!
【问题讨论】:
标签: c# .net inheritance api-design bridge