我在BAL有一个域对象,它应该在DAL有一个相应的数据映射器。众所周知,数据映射器类将包含预存和检索方法,如Update、Delete、FindById、FindByName等。
我理解这些DAL方法应该如何在BAL中使用,但UI层呢,UI层不应该直接访问DAL,所以这是否意味着我必须在BAL的域对象类中添加具有确切签名的方法,该方法应该只将某个数据库访问操作的UI调用传给DAL对应的方法?或者我应该如何通过UI访问DAL?
BAL的目的是执行其他操作,如验证、日志记录和事件处理。此外,如果您计划更改持久化数据的方式,例如使用web服务而不是数据库,则使用BAL抽象来消除这种情况。