`

面象对象 业务层 DAO层 领域模式

阅读更多
以前做过的项目与学习,代码方面差不多,都是Jsp->Action->Service->Dao,认何一个功能,都是以提交与功能,把上面的过程过一遍,哪么就完成了,从来没有细细的想过业务层与DAO层他们真正的边界与责任,seamanly今天与我的谈话,让我知道了一些新的东西,先记下来

DAO层

在写DAO时,不需要太多的关心业务,业务层只会告诉DAO层需要什么数据,需要关心的是如何与数据库打交道,对数据库做什么样操作,多数为增、删、查、改,DAO层面对的是数据库,而不是用户,打个比方,修改数据与逻辑删除(修改字段表示此数据失效),相对于业务或用户来说,这是两个完全不同的操作,但对于数据库来说,都是对数据做修改操作,如操作的是同一个表,都可归纳到同一个DAO操作中

业务层
1、业务层的实现类,不可暴露出来,每一个实现类,使用单例模式,对实例化进行限制
2、业务层提供的接口,越简单越直接越好,如删除只需要ID时,业务层不需要得到一个OBJECT(如VO等等),当使用着看到接口时,就能明白,此接口可以提供什么功能,而不是数据。
3、每一个业务层接口,所提供的都是一个功能,也许多个功能部分有重复,但为了更直观,应提供每个功能一个接口

领域模式
这个感觉更多的是面向对象的思想,VO、DTO、PO等数据传输的模式或对象,可以定义一些属性,而这里要提出的不只是一些简单属性,每一个这样的Bean,应有与自己想关的些许业务,或是说功能,而Bean不可直接调用DAO来实现业务,而应调用业务层来完成功能


最后还提到一点,写代码时,应要抱着业务合法的心态去完成,业务规则的维护,应使用异常去处理,一个项目设计是否合理,看看自定义异常,也许能看出来,自定义异常写起来不难,但想真真的用好,也不简单
分享到:
评论

相关推荐

    用java的面向对象语言来操作关系型数据库 dao层.zip

    在Java编程领域,面向对象(Object-Oriented Programming, OOP)是一种常用的设计模式,它允许我们通过类和对象来组织和处理数据。在关系型数据库管理中,使用面向对象的语言如Java,可以帮助开发者更直观地映射和...

    Service层和DAO层解析

    Service层和DAO层是软件开发中常见的两种设计模式,主要用于分离业务逻辑和数据访问操作。在Java Web开发中,它们通常被应用于三层架构或MVC(Model-View-Controller)模型中。 DAO(Data Access Object)层是负责...

    关于dao设计模式学习资料

    - DAO模式通过对底层数据的封装,为业务层提供了一个面向对象的接口。这样,业务逻辑开发人员可以面向业务实体进行编码,而不是直接处理原始的记录集或字段型数据。这种面向对象的方式使得代码更加清晰易懂,也便于...

    DAO层.doc

    综上所述,DAO层在四层B/S架构中起着承上启下的作用,它不仅简化了数据库访问操作,还通过对象-关系映射技术实现了业务对象与数据库之间的解耦,从而提高了系统的整体性能和可维护性。对于开发人员而言,理解和掌握...

    Hibernate中的DAO模式

    **DAO(Data Access Object)模式**是软件设计模式中用于处理数据访问的一种方式,它将业务逻辑与数据访问层分离,提高代码的可重用性和可维护性。在Java领域,尤其是在企业级应用开发中,DAO模式常与ORM(Object-...

    javaSE-day11-day12--主要实现了购物系统的dao层和service层

    在Java开发领域,一个完整的应用通常分为多个层次,如表现层、业务逻辑层和服务层,以及数据访问层等。在给定的标题“javaSE-day11-day12--主要实现了购物系统的dao层和service层”中,我们可以看到开发者在这两天的...

    java的几种对象(PO_VO_DAO_BO_POJO)解释

    在实体框架或ORM(对象关系映射)工具中,PO对象作为桥梁,将Java对象与数据库记录相互转换,使得开发者能够以面向对象的方式操作数据库数据。 ### 值对象(VO) 值对象(VO)是一种无状态的对象,它代表了一组值...

    不要重复 DAO !

    7. **Repository模式**:在面向领域的开发中,Repository模式提供了一种更面向对象的方式来封装数据访问逻辑,它作为业务对象和数据存储之间的桥梁。 标签"源码"提示我们,这个话题可能涉及到了具体的代码实现,而...

    深入PHP:面向对象、模式与实践(第3版)第9到12章

    第10章“让面向对象编程更加灵活的模式”深入介绍了各种设计模式,这些模式是经过时间考验的最佳实践,可以解决常见的软件设计问题。例如,装饰器模式用于动态地给对象添加新的行为或责任,而适配器模式则允许不兼容...

    Python-用于tornadomysql的业务DAO极大提高生产效率

    3. **ORM(Object-Relational Mapping)框架**: ORM框架允许开发者使用面向对象的编程方式来操作数据库,将数据库表映射为Python类,将SQL语句转换为类方法。在Python中,常见的ORM框架有SQLAlchemy、Peewee和...

    Java的(PO,VO,TO,BO,DAO,POJO)解释

    BO是Java中的业务对象,从业务模型的角度看,它是UML元件领域模型中的领域对象。BO封装业务逻辑的Java对象,通过调用DAO方法,结合PO、VO进行业务操作。BO可以包括一个或多个其他的对象。例如,一个简历可以包括教育...

    5-互评-OO之接口-DAO模式代码阅读及应用

    在IT领域,尤其是在Java编程中,接口和DAO(Data Access Object)模式是两个重要的概念,它们在构建可扩展和可维护的系统中起着至关重要的作用。本篇将详细讲解这两个概念及其应用。 首先,接口在面向对象编程(OO...

    SQLzhixing.rar_dao

    在IT领域,DAO(Data Access Object)模式是一种常见的软件设计模式,它用于封装对数据库的操作,使得业务逻辑层与数据访问层分离,提高了代码的可重用性和可测试性。本资源“SQLzhixing.rar_dao”似乎提供了一些...

    面向对象UML设计与应用

    本文将深入探讨面向对象UML设计的应用,并重点讲解如何通过结合模式(Pattern)来提高软件分析与设计的质量。 #### 二、面向对象基本概念 面向对象编程的核心思想在于模拟现实世界中的实体及其行为。在软件开发中...

    校园二手交易平台-基于UML面向对象分析与设计.docx

    以下是基于UML的面向对象分析与设计的详细解释: 1. **用例图**: 用例图展示了系统中不同用户(如普通用户和管理员)的角色及其可执行的操作。例如,用户可以注册、登录、发布商品、浏览和购买商品,管理员则可以...

    HibernateDao.java

    `HibernateDao.java`是Hibernate框架中一个常见的数据访问对象(DAO,Data Access Object)类,它的主要职责是封装对数据库的操作,提供一套面向对象的接口,使得业务逻辑层可以无需关心底层SQL语句,直接通过对象...

    Struts2+hibernate+spring整合泛型DAO

    泛型DAO(Data Access Object)是一种设计模式,它的目标是通过泛型将业务对象与数据访问逻辑分离,使得DAO层能够适应多种类型的实体类。在Struts2+Hibernate+Spring的集成中,泛型DAO扮演着重要的角色,它使得DAO层...

    Java Web程序运用中泛型DAO的作用.pdf

    DAO作为数据资料库的上层和业务逻辑的下层,能够将业务逻辑处理和数据访问操作分割开来,减少访问层和业务层之间的重叠和交叉。DAO模式对于提高程序的可读性、安全性以及实现面向接口的多态性编程起到了重要作用。 ...

    java术语(PO/POJO/VO/BO/DAO/DTO)

    DAO对象封装了所有与数据库交互的细节,如查询、插入、更新和删除等操作,提供了业务层与数据库之间的隔离,使得上层业务逻辑无需关心底层数据存储的具体实现。 #### DTO (Data Transfer Object) 数据传输对象 DTO...

    Hibernate的通用dao

    在Java编程领域,Hibernate是一个强大的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,从而减少了对SQL的直接依赖。通用DAO(Data Access Object)是一种设计模式,用于封装对数据库的操作...

Global site tag (gtag.js) - Google Analytics