`
fanqui
  • 浏览: 4680 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

除了DAO共用还有业务逻辑共用

阅读更多
     今天在写代码的时候,想到这样一个问题,如果把共同的一些操作分离出来,以后需要此功能的就可以调用该功能,刚开始可能写代码比较慢(主要是设计和编码思路还没达到应该怎么设计公用功能花费更多的时间),但是随着项目的复杂度的增加,这种做法的优势就显示出来了。
      联系到dao和service之间的关系,发现了这有某种相似之处。dao层负责程序与数据库之间的基本操作(切口),service层在这种接口的调用前后增加许多业务逻辑,或者对这种接口复合操作。
      我说的还不是工具类这种这么共用的设计。工具类设计针对参数一般是基本类型,我想法还么那么宏大,对需求和操作的把握还没有如此炉火纯青的地步,所以还没能到谈工具类的层次。但是如果我们对一些东西的业务逻辑,也可以做成共用的,那么我们代码的简洁性就可以得到保证。否则,自己看到自己的代码都要好好看一下才能明白过来是什么意思。曾经看到一个帖子,说代码可以搞到一个方法两三行代码,那才是一个境界。从这个角度这样说不无道理。
      如果刚开始不能做到共有方法,可以在检视代码的时候做归纳,这样代码可能会易读一点。从零散整理为有序,代码就会易维护一点,但复杂度增加的时候,就好把握一点。
      想到这里,发现我好多代码都应该写到service里面。
      周末把代码拷回来把别人的代码也读一读,再总结总结。多分析一下,那些逻辑是可以共用的,而提供参数的高度灵活性,这些都需要很深的火候。顺着这个方向走下去,相信可以走上高效率编码之路。
   
分享到:
评论

相关推荐

    SpringBoot多模块例子-v2.0(建议下载)

    4. **demo-service**:服务层模块是业务逻辑的核心,它封装了DAO操作,提供了业务逻辑的API。服务层通常会包含事务管理、业务规则验证、服务接口等。服务层的设计应尽量保持松耦合,方便进行单元测试和微服务化改造...

    SpringBoot多模块例子-v1.0(不建议下载)

    4. **demo-service**:业务逻辑层模块,这一层是整个应用的核心,实现了具体的业务逻辑,调用DAO层进行数据操作,并为表现层提供服务接口。 5. **demo-web**:Web层模块,通常包含SpringBoot的启动类、控制器...

    ssh框架整合步骤

    综上所述,SSH框架的整合涵盖了项目初始化、各框架导入、数据库连接、实体映射、DAO实现、业务逻辑构建、Struts框架配置、视图层优化、配置文件调整、服务层注入以及面向方面的编程等关键步骤,每一环节都旨在构建一...

    进销存管理系统概要设计说明书.doc

    数据抽象访问层实现了对数据库的增删查改操作,通过一系列的DAO类,如登录管理抽象访问类、供应商管理抽象访问类等,实现了对数据库操作的封装,简化了业务逻辑层的开发工作。 #### 数据库服务层 数据库服务层详细...

    C#写的电子商务系统

    DAL是三层架构(表示层、业务逻辑层、数据访问层)中的底层,为上层提供数据服务,确保业务逻辑与数据存储的解耦。 【标签】"电子 商务"明确了系统的应用场景。电子商务(E-commerce)系统涵盖了在线购物、订单处理...

    基于maven的ssm框架的商品竞价小系统

    6. **项目结构**:项目按照Maven的约定进行模块划分,`Auction-persistence`处理数据库操作,`Auction-service`封装业务逻辑,`Auction`可能包含一些共用的工具类或配置,`Auction-web`则专注于Web层面的展示和交互...

    软件架构文档3.01

    - **Service**:服务层专注于编写具体的业务逻辑,封装数据访问操作,以满足业务需求。 - **Repository**:仓库层隐藏了数据源和内部实现细节,为上层提供数据存取的统一接口。 - **Dao**:数据访问层处理数据库...

    封装hibernate统一操作接口

    为了提高代码的可维护性和可复用性,通常会进行接口的封装,创建一个统一的操作接口,使得业务逻辑层对数据访问层的调用更加规范和简洁。这就是"封装Hibernate统一操作接口"的目的。 一、 Hibernate概述 Hibernate...

    struts2+spring+mybatis框架demo

    Struts2的核心是Action,每个Action对应一个业务逻辑,通过配置Action与URL的映射,用户请求可以直接导向特定的业务处理。此外,Struts2还支持OGNL(Object-Graph Navigation Language)表达式,用于在视图层与模型...

    【备】Web-platform(0308)

    5. **platform-core**:这是项目的核心库或者基础组件,通常包含了一些关键的业务逻辑和服务,例如认证授权、数据访问层(DAO)、业务服务层(Service)等。这个模块是整个项目的基础,为其他所有模块提供必要的支撑...

    \javaWeb开发环境配置

    * 业务逻辑是指 Java Web 应用程序的核心逻辑,包括数据处理、业务规则、算法等。 二、开发环境软件 * JDK:JDK 6.21 是 Java 开发的基础环境,提供了 Java 开发所需的各种工具和类库。 * 服务器(容器):Tomcat ...

    spring_aop麻雀

    在这个项目中,可能包含着业务逻辑(Service)和数据访问(DAO)相关的类,以及模型(Model)对象,它们与Spring和Hibernate的配置文件配合,实现业务功能。 综上所述,“spring_aop麻雀”项目是一个小型但完整的...

    ssm+maven多模块web项目

    3. service:服务层模块,封装业务逻辑,调用DAO操作数据。 4. dao:数据访问层模块,实现与数据库的交互,使用MyBatis的Mapper接口和XML配置文件。 5. model:模型层模块,定义实体类,对应数据库表结构。 6. ...

    徐长龙分布式服务的管理

    - 提升开发效率: 将业务逻辑下沉,前端专注于界面搭建。 - 文档化: 通过文档化接口提高复用性和可维护性。 - 跨部门协作: 科学化管理跨部门调用,提高合作效率。 - 内部服务: 服务仅对内部网络开放,确保安全性...

    SSM(SpringMVC+Spring+Mybatis)+Maven多模块项目

    它提供了模型-视图-控制器(MVC)设计模式的实现,帮助开发者将业务逻辑、数据展示和用户交互分离。SpringMVC的核心组件包括DispatcherServlet(前端控制器)、Controller(控制器)、Model(模型)、View(视图)和...

    【精品】Ki4so简约单点登录系统.docx

    系统部署结构图详细展示了各个组件的部署位置和交互方式,而功能模块设计则按照Java命名规范进行,包括Web层处理和响应的接口,业务逻辑层的DAO操作等。 总的来说,Ki4so简约单点登录系统提供了一种高效、安全的...

    SpringMVC+Spring+Mybatis(SSM) demo

    它提供了一个模型-视图-控制器(MVC)架构,帮助开发者将业务逻辑、数据展示和用户交互分离,提高了代码的可维护性和可测试性。在本 Demo 中,SpringMVC 负责接收 HTTP 请求,通过 DispatcherServlet 分发到相应的...

    ssm多模块基础框架+dubbo+ehcache

    通常,项目会分为服务提供者模块(包含业务逻辑和Dubbo服务接口)、服务消费者模块(调用服务提供者提供的接口)、以及共用的DAO和Model模块。Ehcache可能被集成到服务中,用于缓存部分计算或查询结果,提高服务响应...

    demo-parent.zip

    - 实现Controller层,处理HTTP请求,调用Service层进行业务逻辑处理。 通过这样的整合,我们可以实现一个清晰、可维护的Java Web应用。每个模块有明确的职责,降低了代码间的耦合,便于团队协作和项目扩展。同时,...

Global site tag (gtag.js) - Google Analytics