[英]Design for CRUD
我有一个设计CRUD应用程序的要求。 数据库中有三个表-员工,销售和客户。 这些表的值在三个不同的电子表格中可用。 我的应用程序应定期检查电子表格并更新相应的表格。 我想出了以下设计
EmpMgr-EmpDAL-EmpDAO
SalesMgr-SalesDAL-SalesDAO
CustMgr-CustDAL-CustDAO
我的主应用程序中的计时器将定期运行,并在配置的位置获取电子表格,并在EmpMgr,SalesMgr或CustMgr中调用Parse函数。 各个类解析文件并形成“ EmpDao / SalesDao / CustDao的向量”,并调用相应的DAL来更新表。
我对这种方法的担心是
您缺少模型(请考虑MVC)。 这应该可以解决您的两个问题。 我认为您不需要DAL层。
例如,用于保存员工列表的Excel工作表。 您应该为员工开设具体课程。 可以在列表容器中保存员工列表。 您的DAO将解析excel,并将每一行变成一个雇员对象,或者接受一个雇员对象,并将其添加为excel中的一行。
对于第一个问题,您的代码可能看起来像这样。
class EmployeeManager()
{
...
public void CreateEmployee(Employee employee)
{
dao.Add(employee);
}
public void CreateEmployees(List<Employee> employees)
{
dao.AddMany(employees);
}
...
public List<Employee> GetAllEmployees()
{
List<Employee> employees = dao.GetAll();
employees.Sort();
}
...
}
class Employee()
{
Employee(string name, string job)
{
Name = name;
Job = job;
}
...
string Name { get; set; }
string Job { get; set; }
}
class EmployeeDAO()
{
...
public List<Employee> GetAllEmployees()
{
List<Employee> employees = new List<Employee>;
//parse all rows and make make employee objects out of them.
return employees;
}
}
对于Q1,通过使用模型,您将使用C#提供的容器来保存员工列表,可以对他们进行搜索,排序,修改等,并且代码已经为您完成,为您尝试和测试并编写比你聪明的人
对于Q2,如果将Excel从XML更改为XML或其他任何内容,则只需修改DAO。 任何使用管理器的人都只需要使用模型中的类,并利用C#中已有的Containers。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.