我读得越多,就越感到困惑。
请注意,所有问题都与服务和门面在MVC模式中的适用方式有关。
我的理解是,门面不是一个超级智能的对象,它只是一种暴露简单接口/ API 以执行复杂操作的方法(例如:执行10美元的付款,这是涉及多个操作的复杂操作,但此类复杂性可以通过门面来处理,门面将按特定顺序调用相应的对象等)。
现在,服务是一种执行对多个DAO的调用以获取复杂数据结构的方法(我还不太确定,但这是我目前所理解的)。
问题是,门面和服务之间有什么区别?最终,门面完全可以通过提供简单接口访问多个DAO以执行复杂操作,并且服务似乎也可以做类似的事情。
同样发生在事务中,我了解到服务是启动事务的地方,但我同样觉得它们也可以放置在门面上,毕竟,门面也可能调用多个DAO。
那么哪个堆栈更有意义?
控制器-门面-数据访问对象 控制器-服务-数据访问对象
或者可能是
控制器-门面-数据访问对象,有时候是控制器-门面-服务-数据访问对象?
请注意,所有问题都与服务和门面在MVC模式中的适用方式有关。
我的理解是,门面不是一个超级智能的对象,它只是一种暴露简单接口/ API 以执行复杂操作的方法(例如:执行10美元的付款,这是涉及多个操作的复杂操作,但此类复杂性可以通过门面来处理,门面将按特定顺序调用相应的对象等)。
现在,服务是一种执行对多个DAO的调用以获取复杂数据结构的方法(我还不太确定,但这是我目前所理解的)。
问题是,门面和服务之间有什么区别?最终,门面完全可以通过提供简单接口访问多个DAO以执行复杂操作,并且服务似乎也可以做类似的事情。
同样发生在事务中,我了解到服务是启动事务的地方,但我同样觉得它们也可以放置在门面上,毕竟,门面也可能调用多个DAO。
那么哪个堆栈更有意义?
控制器-门面-数据访问对象 控制器-服务-数据访问对象
或者可能是
控制器-门面-数据访问对象,有时候是控制器-门面-服务-数据访问对象?