我只是用以下模式创建一个 3 层 WinForm 应用程序。
-- 我的基类:DAL 类
public class Domain
{
public string CommandName = string.Empty;
public List<Object> Parameters = new List<Object>();
public void Save()
{
List<Object> Params = this.SaveEntity();
this.ExecuteNonQuery(CommandName, Params.ToArray());
}
public void Delete()
{
List<Object> Params = this.DeleteEntity();
this.ExecuteNonQuery(CommandName, Params.ToArray());
}
public void Update()
{
List<Object> Params = this.UpdateEntity();
this.ExecuteNonQuery(CommandName, Params.ToArray());
}
protected virtual List<Object> SaveEntity()
{
return null;
}
protected virtual List<Object> UpdateEntity()
{
return null;
}
protected virtual List<Object> DeleteEntity()
{
return null;
}
public int ExecuteNonQuery(string SqlText, params object[] Params)
{
/*
* Code block for executing Sql
*/
return 0;
}
}
我的业务层类将继承 DLL 类
-- 我的孩子们 : BLL CLASS
public class Person : Domain
{
public string name
{
get;
set;
}
public string number
{
get;
set;
}
protected override List<object> SaveEntity()
{
this.Parameters.Add(name);
this.Parameters.Add(number);
return this.Parameters;
}
}
-- USE 这是使用我的基类的方式
void Main()
{
Person p = new Person();
p.name = "Vijay";
p.number = "23";
p.Save();
}
问题
- 这是我遵循的正确架构吗?是否有机会将基类创建为单例?
- 还有其他面糊架构吗?
- 我可以遵循任何模式来扩展我的功能吗?
请建议。