【发布时间】:2019-11-19 11:39:11
【问题描述】:
假设您有 A 类和 B 类。 这两个类都有一个私有变量:
private Store _store {get;set}
class Class A
{
private Store _store {get;set}
constructor()
{
init(param1,param2,..);
}
init(param1,param2,..)
{
//logic to initialize _store
}
}
class Class B
{
private Store _store {get;set}
constructor()
{
init(param1,param2,..);
}
init(param1,param2,..)
{
//logic to initialize _store
}
}
问题:重复 init() 代码
我的解决方案:
-
简单工厂模式:使用
Init方法创建一个StoreFactory类,该方法将返回一个Store 实例。 - 抽象工厂:创建一个具有init()方法的抽象类,让A类和B类继承它
- ??
有没有第三种方法来实现这一点?也许使用依赖注入容器 Unity? 我也有兴趣了解实现这一目标的任何其他方式。有或没有统一。
【问题讨论】:
标签: c# .net api design-patterns unity-container