我需要MVC中服务层的确切目的。 我们可以实现没有服务层.. 这些层的主要职责是什么.. 我们可以在没有任何这些层的情况下实施..
有人能帮助我知道这件事吗。
答案 0 :(得分:1)
服务层用于提供逻辑来操作发送到DAO和客户端的数据。通常这两个部分将捆绑在一起放在同一个模块中,偶尔会放在相同的代码中,但您仍然会将它们视为不同的逻辑实体。
这可能对您有所帮助
https://softwareengineering.stackexchange.com/questions/220909/service-layer-vs-dao-why-both
答案 1 :(得分:1)
DAO很轻,只是为了提供与DB的连接而存在,有时被抽象,因此可以使用不同的DB后端。
服务层用于提供逻辑来操作发送到DAO和客户端的数据。通常这两个部分将捆绑在一起放在同一个模块中,偶尔也会放在相同的代码中,但您仍然会将它们视为不同的逻辑实体。
是的,您可以在没有服务层的情况下实施,但缺乏安全性。如果不使用服务层,请求和响应的工作速度会更快......
服务层的另一个原因是安全性 - 如果提供与数据库无关的服务层,那么除了通过服务从客户端访问数据库更加困难。如果无法直接从客户端访问数据库(并且没有简单的DAO模块作为服务),那么接管客户端的所有攻击者都可以尝试破解服务层,除非是最清洁的数据访问权限。
由于这些答案已在StackExchange上得到解答..由gbjbaanb