在位于外部库中的类上创建抽象

时间:2019-03-07 16:23:27

标签: c#

我正在处理的c#项目引用了驻留在外部类libray中的“产品”具体类型。 “产品”类未实现任何接口。

我想在“产品”的基础上创建一个“ IProduct”接口,并使用此接口代码,因此我可以针对接口而不是实现进行编程。

由于我仍然想继续使用“ Product”类型,因此什么是让我的代码知道“ Product”实现“ IProduct”的好模式?

由于“产品”驻留在外部库中,因此我无法更改其声明(即Procut:IProduct)。

该类也没有公共构造函数,所以我想扩展它不是一个选择。

在这种情况下,什么是好的解决方案模式?包装纸?

谢谢。

1 个答案:

答案 0 :(得分:0)

您可能想要使用适配器模式。

因此您可以执行以下操作:

public class Product 
{
    // Your Product Class
}

public class MyProduct : Product,  IProduct
{

}

MyProduct类实现接口的地方,还具有Product类可用的所有公共和受保护的方法/属性。这使您可以扩展原始类,而无需遵循Open / Close原理修改Product类。

您可以在此处了解更多信息:https://exceptionnotfound.net/the-daily-design-pattern-adapter/

相关问题