我正在尝试使用 ado.net 和 sql server 设计我的应用程序架构。我考虑使用以下三个层:
表示层 -> 业务层 (BAL) -> 数据访问层 (DAL)
示例对象的实体,如员工、部门等。
我正在尝试使用接口作为我的一些类的契约。我目前的问题是,我看到一些方法在 BAL 和 DAL 对象之间是通用的,例如:Add、Remove、GetAll 因此我决定创建接口来实现这些东西但是当从 BAL 类使用时我需要像void Add(Employee)
但在 DAL 中void Add(string name);
因此我在 DAL 和 BAL 上拆分了几乎相同的接口(我不喜欢它,因为它似乎以某种方式重复了)。下一个问题是当我想在StickTogether class
我无法调用时 使用我的代码时,_employee.Department = _department;
我知道这是因为Department property
应该在RepositoryBal
接口中,但在简单实体中Department
需要实现我不想做的这样的接口,因为就我而言,实体只是特定对象的简单重复。你能告诉我 - 最好的例子展示你将如何创建这样的架构或修改我的东西以拥有比我现在更好的东西。下面找到我正在处理的完整代码。如何解决这个问题?
请注意,我也开始为依赖准备此代码,这将有助于 moc 测试。
使用基于我的代码提出的固定解决方案感谢您的回答。
呼如林
相关分类