我需要使用不同的构造函数访问我的业务层对象4次。
具体来说,我需要通过单独的数据访问层
访问4个不同的后端系统我该怎么做:
1)用不同的构造函数实例化4个独立的对象?
2)每次实例化一个对象并更改公共属性?
我现在在HomeController中,我有以下内容:
var obj = new BarcodeBLL(new ERPConfig
{
AS400ControlLibrary = ConfigurationManager.AppSettings["ControlLibrary"],
AS400Library = ConfigurationManager.AppSettings["DataLibrary"],
ConnectionString = ConfigurationManager.ConnectionStrings["AS400"].ConnectionString
});
对我来说,跟随#2似乎很明显,但我想知道我是否正确以及为什么
答案 0 :(得分:1)
如果您有4个相同的系统,那么拥有一个代表此类系统的类似乎是合乎逻辑的。当您需要访问其中一个系统时,实例化此类型,将正确的连接字符串传递给构造函数。
您可能希望隐藏工厂后面或DI容器配置中实际使用的连接字符串的详细信息。