我有一个设计CRUD应用程序的要求。数据库中有三个表-雇员、销售和客户。这些表的值可在三个不同的展开表中获得。我的应用程序应该定期检查电子表格并更新相应的表。我想出了下面的设计
EmpMgr - EmpDAL - EmpDAO
SalesMgr - SalesDAL - SalesDAO
CustMgr - CustDAL - CustDAO
我的主应用程序中的计时器将周期性地得到配置位置上可用的电子表格,并在EmpMgr、SalesMgr或CustMgr中调用Parse函数。相应的类解析文件和表单“EmpDao/SalesDao/CustDao的向量”,并调用相应的DAL更新表。
我对这种方法的担心是
发布于 2011-11-03 04:24:27
您错过了模型(想想MVC)。这应该能解决你们两个的问题。我不认为你需要一个DAL层。
例如,用于保存员工列表的excel工作表。你应该为员工开设一个具体的课程。员工列表可以保存在列表容器中。DAO将解析excel,并将每行转换为employee对象,或者接受employee对象并将其添加为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”或其他任何内容,只需修改DAO即可。使用管理器的任何东西都只需要使用模型中的类,并使用C#中已经存在的容器。
https://stackoverflow.com/questions/7990065
复制相似问题