我有一个用C#编写的.NET网站,将制作其他开发人员可以使用的功能。因此,我会进行一些默认实现,开发人员可以覆盖其中的某些方法。
例如:我有一个类ShoppingCart和一个类Product。类Product拥有一个方法getProductPrice。购物车将调用getProductPrice方法来计算购物车的总价。
ShoppingCart和Product在同一个项目中,我将提供开发人员.dll文件,以便他们无法更改源代码,因此我们可以稍后更新程序集。
所以,他们需要创建另一个项目并扩展Product类并覆盖getProductPrice方法,以便他们可以实现自己的逻辑。问题是购物车不会调用扩展的方法而是原始的方法。
如果我们为开发人员创建了扩展项目,并且购物车将调用扩展方法,那么我们就会出现循环引用,因为扩展产品需要对产品进行引用,而购物车对扩展产品进行引用。
Partial classes也不起作用,因为我们只能在同一程序集内使用部分类。
有没有人有建议呢?
提前致谢。
例如:我有一个类ShoppingCart和一个类Product。类Product拥有一个方法getProductPrice。购物车将调用getProductPrice方法来计算购物车的总价。
ShoppingCart和Product在同一个项目中,我将提供开发人员.dll文件,以便他们无法更改源代码,因此我们可以稍后更新程序集。
所以,他们需要创建另一个项目并扩展Product类并覆盖getProductPrice方法,以便他们可以实现自己的逻辑。问题是购物车不会调用扩展的方法而是原始的方法。
如果我们为开发人员创建了扩展项目,并且购物车将调用扩展方法,那么我们就会出现循环引用,因为扩展产品需要对产品进行引用,而购物车对扩展产品进行引用。
Partial classes也不起作用,因为我们只能在同一程序集内使用部分类。
有没有人有建议呢?
提前致谢。