今天在参加其他项目研发时,对其项目的java后台的分层有一些看法:
首先,鼓励使用service domain dao 层分层设计概念。
其次,对几层作用的理解:
第一:dao层操作单表,不涉及复杂逻辑,主要是表的增删改查操作,完全根据domain的要求来查询数据。
第二:domain层考虑业务逻辑,例如过滤条件,放行或者返回,以及数据的处理,为调用dao层做好准备,一个domain可以调用一个或者一组相关的dao层
第三:service层调用一个或者一组domain层,主要是展现需要开放出去的接口,其中domain层不是所有的接口都要再service层体现的,可能仅在service层开放几个接口出去,此外,主要接口需要对接受的参数要尽量的扩大化,也就是说可以容纳各种类型的参数的接入(Object),然后需要在service层做好转换,以备domain层使用。
正确的设计应该是,一个领域活动会聚合对应一个或一组DAO ,来完成一个领域活动。而一个服务可能包含两个领域活动,比如一个转账的业务,对应两个领域活动。两个帐户的金额分别发生变化,需要操作一组领域活动,而每个活动需要操作很多表(调用多个DAO )。
使用 接口方式可以实现系统之间的松耦合:
一般定义: IUserService UserService IUserDomain UserDomain IUserDao UserSqlDao UserHbaseDao
使用接口可以有不同的实现类 ,不需要改代码,可以通过配置更改不同的实现类
相关推荐
在分层架构中,Service层和DAO层的解耦是非常重要的。Spring框架通过依赖注入(Dependency Injection,DI)实现了这一目标,使得Service层可以通过接口引用DAO层的实现,而不是直接创建DAO实例。这增强了系统的可...
标题和描述中提到的"action层,dao层,service层,entity层"是这种分层架构的典型组成部分,下面将详细解释每一层的功能和它们之间的交互。 1. **Action层(控制层)**: 这一层主要负责接收用户的请求,进行业务...
在Java Web开发中,通常采用分层架构来组织应用程序,如描述中所示,主要分为四层:Action层、Service层、DAO层以及Domain层。这种结构有助于提高代码的可维护性和可扩展性。 1. **Action层**: Action层是业务...
将ssh工程拆分为多个模块...一个父工程maven project(pom),然后在创建四个子模块(maven moudule),其中四个子模块,分别为 domain、dao、service、web,也就是将四层的内容分别独立为一个项目,进一步将耦合性降低。
基于maven的WebApp,主要包括:DAO包(数据访问层),Service层(业务逻辑层),Domain(实体类)。完成了对数据库的连接,以及对数据库的增删改查。另外包括在(UI)网页上对数据库中book表格的展示
系统设计上,采用了分层架构,将系统抽象为dao(数据访问层)、domain(领域层)、service(服务层)、servlet(控制层)、utils(工具层)以及jsp(视图层)六层。这种分层的方法不仅使得代码结构清晰,而且便于...
第三步:分层(创建包) 公司的域名反写 + 项目名称 www.fkjava.org org.fkjava.ec org.fkjava.ec.controller: (servlet、filter、base) org.fkjava.ec.service: 业务层 org.fkjava.ec.mapper|dao: 数据访问层 ...
在SSM整合中,Spring主要负责管理应用程序中的对象,包括数据访问对象(DAO)、业务服务对象(Service)以及控制器(Controller)。通过DI,Spring可以自动装配这些组件,使得代码更易于测试和维护。 2. **MyBatis...
在Java Web项目中,分层可能包括:表现层(View)、控制层(Controller)、服务层(Service)、领域模型层(Domain Model)和数据访问层(Data Access)。每层都有明确的职责,如Controller层负责接收和转发请求,...
在SSH架构中,Spring用于管理Service层和Dao层的实例,通过XML配置文件或者注解方式实现对象的初始化和装配。Spring的IoC(Inversion of Control,控制反转)容器可以实现对象间的解耦,提高代码的可测试性和可维护...
该项目采用了经典的三层架构设计,包括Domain层(领域模型层)、Dao层(数据访问层)、Service层(服务层)以及Controller层(控制器层),并利用Mybatis作为持久层框架,Oracle作为数据库系统,同时结合Junit进行...
- **分层架构**:采用典型的MVC(Model-View-Controller)架构模式。 - **Model**:负责业务逻辑和数据处理。 - **View**:负责用户界面展示。 - **Controller**:处理用户的请求,并调用相应的Model和View组件。...
- 分层设计:将代码组织在不同的包中,包括`domain`包(存放JavaBean),`utils`包(存放工具类),`dao`包(数据访问对象,处理数据库操作)和服务层(`service`包,处理业务逻辑)。 3. **开发步骤**: - 开发...
在Java中,可以通过JavaBean、EJB(Enterprise JavaBeans)、Spring的Service层或DAO(Data Access Objects)实现。 3. **数据访问层(Data Access Layer)**:这是与数据库交互的层面,负责数据的存储和检索。在...
- **总体设计**:系统采用分层架构设计,包括表现层(Web层)、业务逻辑层(Service层)、数据访问层(DAO层)和实体层(Domain层)等。这样的分层设计有助于保持代码的清晰和可维护性。 - **数据库设计**:数据库...
9. **考虑分层**:为了更好地组织代码结构,需要对项目进行合理的分层,如Service层、DAO层等。 10. **配置事务管理器**:在Spring中使用事务管理器来统一管理事务,如通过`HibernateTransactionManager`进行配置。...
|—— service —— 业务层 |—— common |—— |—— annotation —— 项目中使用的注解 |—— |—— aspect —— 项目中的aop |—— |—— config —— springboot配置bean |—— |—— constant —— 项目中使用...
3. **业务逻辑层(Service)**:实现具体的业务逻辑,调用DAO层进行数据处理。 4. **控制器层**:主要由Servlet组成,处理用户请求并将请求转发给适当的处理程序。 5. **表现层**:由JSP页面构成,用于展示数据和...