2013-04-02 34 views
0

我们使用Spring + Hibernate设计了Web应用程序。以下是我们应用程序中的图层。在Web应用程序中使用图层的正确方式是什么

JSP 
    | 
Controllers 
    | 
    Facade 
    | 
    Service 
    | 
    DAO 

虽然经历的代码,我看到了一些服务类使用其他DAO类。这是正确的方法吗?我想知道使用图层的正确的方式是什么。门面图层应该直接使用服务图层的对象,还是应该穿过另一个门面对象?与服务层一样?

回答

1

最适合网络应用的方法是

 JSP 
     | 
    Controllers 
     | 
    Manager 
     | 
    Service 
     | 
    DAO 

JSP:查看部分

控制器:处理传入的请求,并返回响应和适当的视图定义

经理:这将被注入到控制器中,这是逻辑/功能单元。一个管理器可以服务于多个控制器

服务:这是服务层,并且将通过管理者被调用只,因此这将是注入到经理类

DAO:数据访问对象,这将注入到服务层

这是现今所有网络应用程序所关注的最常见趋势。

+0

因此,让我们说我有'UserService',它需要与由BookmarkService/BookmarkDao提供的书签相关的数据,那么'UserService'应该使用'BookmarkService'还是'BookmarkDao'? –

+0

您应该使用BookmarkService而不是UserService。在分层体系结构中,逻辑应该只包含在相应的服务中。因此,UserService用于用户相关信息,BookmarkService用于书签相关信息。 –

+0

所以这意味着** BookmarkService **和** UserService **的调用应该来自** Manager层**并且两个服务(书签和用户)应该保持独立。 –

相关问题