修改配置文件数据、服务或控制器?
Modify profile data, service or controller?
目前正在学习SpringMVC + Hibernate。我在实现一个简单的用户帐户管理器应用程序时感到困惑。
就我而言:
- 应该从数据库中读取用户帐户;
- 密码修改前应先比对;
- 根据前端表单修改用户账号信息;
- 应将具有新信息的用户帐户保存回数据库;
我的问题是:
- 整个过程应该在Service中实现还是在Controller中实现?为什么?
- 在许多示例中,我了解到服务方法通常很小并且只包含一个 DAO 调用,这是一种好的做法吗?或者我们做对比把几个DAO调用放到一个服务方法中?
Should this whole process be implemented in the Service or in the Controller? And why?
业务逻辑在服务层(MVC 中的 M)中完成 - 请参阅下面的 link 进行解释。
In many examples I read that the service methods are usually tiny and contains only one DAO call, is this a good practice? Or we do the contrast to put several DAO calls into one service methods?
服务方法的大小适合它们执行的逻辑。如果对于特定的逻辑,您需要访问多个 DAO 或其他服务,那么您就可以这样做。如果逻辑是 10 行代码或 100 行,那么这就是方法的大小。问题是大多数示例都使用服务层(您的应用程序应该有),但因为它们只是示例,所以其中没有任何逻辑。出于这个原因,他们中的大多数人只是委托给一些 DAO,让人们对他们的目的应该是什么感到困惑。
阅读以下内容了解详情:The Purpose of a Service Layer and ASP.NET MVC 2(它适用于 .NET,但原则仍然适用)。
目前正在学习SpringMVC + Hibernate。我在实现一个简单的用户帐户管理器应用程序时感到困惑。
就我而言:
- 应该从数据库中读取用户帐户;
- 密码修改前应先比对;
- 根据前端表单修改用户账号信息;
- 应将具有新信息的用户帐户保存回数据库;
我的问题是:
- 整个过程应该在Service中实现还是在Controller中实现?为什么?
- 在许多示例中,我了解到服务方法通常很小并且只包含一个 DAO 调用,这是一种好的做法吗?或者我们做对比把几个DAO调用放到一个服务方法中?
Should this whole process be implemented in the Service or in the Controller? And why?
业务逻辑在服务层(MVC 中的 M)中完成 - 请参阅下面的 link 进行解释。
In many examples I read that the service methods are usually tiny and contains only one DAO call, is this a good practice? Or we do the contrast to put several DAO calls into one service methods?
服务方法的大小适合它们执行的逻辑。如果对于特定的逻辑,您需要访问多个 DAO 或其他服务,那么您就可以这样做。如果逻辑是 10 行代码或 100 行,那么这就是方法的大小。问题是大多数示例都使用服务层(您的应用程序应该有),但因为它们只是示例,所以其中没有任何逻辑。出于这个原因,他们中的大多数人只是委托给一些 DAO,让人们对他们的目的应该是什么感到困惑。
阅读以下内容了解详情:The Purpose of a Service Layer and ASP.NET MVC 2(它适用于 .NET,但原则仍然适用)。