目前我的应用程序的 UI 层与我的 DAL dll 耦合。Dal 初始化如下:
//Initialize Data Access for AS400
Dal = JDE8Dal.Instance;
Dal.conString = Properties.Settings.Default.conAS400;
DAL 被设计为单例。我认为强制应用程序拥有一个实例是个好主意。
达尔:
public class JDE8Dal
{
public string conString { get; set; }
private static readonly JDE8Dal _instance = new JDE8Dal();
private JDE8Dal()
{
}
public static JDE8Dal Instance
{
get { return _instance; }
}
// Methods
}
我的 BLL 看起来像这样:
namespace YLA.Barcode
{
public static class YlaBarcodeUtil
{
public static string LotStripZeroes(string str)
{
var ret = str;
if (str.Trim().StartsWith("00"))
{
ret = YlaGeneralUtilities.StripLeadingNumofChars(str, 2);
}
return ret;
}
}
public class BarcodeBLL
{
//DAL INIT HERE?
}
}
现在我需要构建更多应用程序,我需要进入 3 层架构并开始阅读 DDD。
1) 如何移动 BLL 中的 DAL 处理?只需在我的 BLL 部分添加初始化?
2) 我是否应该将我的 DAL 设计保持为单例?