理论上:在MVC架构模式的上下文中,数据访问层(DAO)和服务层之间没有明显的区别。服务层和DAO层都可以视为MVC中的“模型”。服务层可以很好地实现业务逻辑,复杂的验证等,但是它仍然是访问数据的层!只要您在Model,View和Controller对象之间保持清晰的关注点分离,从Controller对象访问DAO层就是正确的。
在实践中:我已经看到了两种情况。如果您的小型应用程序具有简单的数据模型,则可以直接从Controllers使用DAO层。但是,随着业务逻辑变得复杂,或者如果您的模型由多个应用程序共享,则将业务代表和DAO排除在外以便重新使用组件,最大程度地减少更改时的影响,提高之间的灵活性将更为有意义。组件等。这将由相关系统的技术架构决定。
在某些项目中,我一直想知道我是否完全需要服务“层”!