`
lokki
  • 浏览: 59972 次
  • 来自: ...
社区版块
存档分类
最新评论

对象(Object)、数据对象、功能对象与JavaBean,HibernateEntityBean的命名经验

阅读更多
对象(Object)、数据对象、功能对象与JavaBean,HibernateEntityBean的命名经验

为了不引起用途的混乱,将Object根据用途划分为数据对象和功能对象。

一种数据类型,一个系统可以有很多不同应用层次的数据对象,比如HibernatePOJO/PO、DTO、FormBean、VO。

在某高效的B/S系统中,将数据对象的各个应用层次数据对象设计成只有HibernateEntityBean。

什么是HibernateEnitiyBean: Object概念 > JavaBean概念,JavaBean有JavaBean的属性、getter/setter命名规则,Hibernate支持POJO,而符合JavaBean属性、getter/setter的HibernatePOJO,称之HibernateEntityBean。

为什么高效:
JavaBean使用、命名规则和使用规限,在Java世界广泛存在,所以Object属性和方法的命名要尽量符合JavaBean的规则,才能流畅通行。

为什么高效:
不在各个层次的类型转换来转换去,从而省大量代码。
不用在各个层次的类型转换来转换去,怎样兼顾成本和扩展性:
HibernateEntityBean或一些内部能正常使用的Bean/Object不能在远过程调用(WebService/RMI/Corba/RPC)中直接传输,所以需要转换
在内部使用和与外部联系的重要性中,以内部使用为重要和使用频繁,所以内部以HibernateEntityBean为主,而另外定义远过程调用所用的DTO,成本也不大,而不用全盘根据远过程调用的需要而定义大量的DTO。
而在MVC内部结构中,大多数可以直接采用HibernateEntityBean在MVC各层次内传输,除非您设计得不能直接传输或您采用的MVC技术有限制。

怎样更高效:
在只有一层数据对象状况下的HibernateEntityBean要承担起对象的一些概念,而其功能不只拘泥于数据表字段。
比如remark的数据表功能有public int getScore()对应与字段score
不妨可以有:
public String getScoreDesc()
{
    String scoreDesc="";
    if(score==5)
        scoreDesc="中评";
    else if(score=8)
        scoreDesc="好评";
    else if(score=3)
        scoreDesc="差评";
    return scoreDesc;
}

兼顾不同需要或不同角色的角度,不妨加多一个函数:
public String getScoreDesc2()
{
    String scoreDesc="";
    if(score<=3)
        scoreDesc="不及格";
    else if(score>=3 && score<=6)
        scoreDesc="及格";
    else if(score>6)
        scoreDesc="优秀";
    return scoreDesc;
}

这样可以在View层和EL中省大量代码,如果remark.scoreDesc/remark.scoreDesc2不合要求,直接用remark.score进行自主处理也是可以的。

这些不从数据表由来的方法,应不要输入参数,只利用到内部field和硬编码,应符合对象的概念,不要操作数据群体,即只有getXXX(),getXXX()里不要再发出数据库操作(如果处理得好,为了高效也是可以的)
这些方法要符合JavaBean的属性命名规则,让其更广泛通用。

更多:
在getXXX()不进行数据库操作时,也可以这样处理,比如Restaurant只关联到userId,而没关联到user对象,不妨增加:
private String userName="";
public String getUserName()
public void setUserName(String userName)

在Controller方法里取得restaurantList后,不妨对该列表的每个元素通过数据库操作取用户名后调用setUserName()。
View层对同一个restaurantList操作就能显示结果。
这样也省下处理更复杂数据结构的时间,而且代码也算规整。

如上userName,有时候不妨给field赋个初始化值,避免null异常,因为试用人员看到没显示好数据时会直接指出哪个数据没显示好,而当他看到一堆异常时,则他的意见是帮不到具体的。

总之,在代码大结构不会乱、能受控制的情况下,思想不妨活一些。
分享到:
评论

相关推荐

    表单数据自动封装到javaBean中

    这些框架同样支持数据绑定,可以与后端的JavaBean进行交互。例如,Angular的`ngModel`指令可以将表单字段与模型对象关联,提交时自动转换为JSON发送给服务器。 5. **错误处理**: 自动封装过程中可能会出现数据...

    JSP实验内置对象、Cookie及JavaBean实验[参考].pdf

    通过本实验,了解如何使用 application 对象存放网上商店的商品清单和库存量,使用 session 对象存放用户的购买信息,使用 Cookie 实现用户的自动登录功能,并使用 JavaBean 设计在线报名子系统。 二、实验要求: ...

    jasperReport自定义javabean数据源实例

    总结来说,使用JasperReport的自定义JavaBean数据源,可以方便地将业务对象与报表紧密结合,提高报表的灵活性和可维护性。通过创建JavaBean,设计报表,编写数据源代码,最后运行报表,你可以轻松地实现自定义的数据...

    数据库实体对象转换JavaBean_数据库对象转Javabean_

    在Java开发中,数据库操作是不可或缺的一部分,而数据库对象与Java Bean之间的转换是数据层与业务层交互的关键。本文将详细讲解如何将数据库实体对象转换为Java Bean对象,以实现数据的有效封装和处理。 首先,我们...

    java 基础之JavaBean属性命名规范问题.docx

    在JavaBean中,属性的命名规范是非常重要的,因为它直接影响到代码的可读性和可维护性,同时也会影响到JavaBean与其他Java技术(如JSP、Spring框架等)的集成。 #### 一、JavaBean属性命名规范概述 JavaBean的属性...

    对象与对象转换工具类-就Javabean

    对象与对象转换工具类-就Javabean

    将excel实体表格生成为JavaBean对象

    通过读取解析固定模板中的内容,生成JavaBean类。 除了生成Bean ,也可以生成其他类,可自行扩展。 这种场景比较局限,项目开发中用到的不多,如果定义类有几十、表字段很多,同时应对项目初期,表结构表更需求较多...

    jasperreport+ireport创建javaBean多数据源报表

    ireport 5.6.0创建的模板文件(.jrxml)需要与Java代码结合,通过JasperFillManager填充数据,然后JasperPrint对象用于展示或导出报表。 **操作流程** 1. **设计报表**: 使用ireport打开.jrxml文件,设计报表布局...

    xml转javaBean,javaBean转xml,xml标签大小写问题,以及对xml特殊符号的处理

    本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...

    Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作.docx

    Java反射JavaBean对象自动生成插入、更新、删除、查询sql语句操作是指通过Java反射机制,依据提供的表名、POJO类型、数据对象自动生成sql语句的技术。这种技术具有很好的参考价值,对开发者有很大的帮助。 Java...

    json对象与javabean相互转化

    json对象与javabean相互转化 JSONObject jsonObj=JSONObject.fromObject(s);//将字符串转化为json对象 //写数据库处理 ObjBean bean=(ObjBean)JSONObject.toBean(jsonObj,ObjBean.class); ObjBean bean=new ...

    xsd生成javaBean

    Castor库还提供了序列化和反序列化的功能,使得XML与Java对象之间的转换更加便捷。 以下是一段简单的示例代码,展示如何使用Castor将XML数据转化为JavaBean: ```java import org.exolab.castor.xml....

    ireport利用javabean做数据源.docx

    总结来说,ireport利用javabean作为数据源提供了灵活性和便利性,允许开发者将业务对象直接映射到报表,简化了数据处理的过程。这种方式特别适用于数据结构固定且不需要频繁进行SQL查询的情况。同时,由于ireport...

    利用JAXB进行xml和javabean之间转换

    总之,JAXB是Java开发中处理XML的强大工具,通过它可以高效地进行XML与Java对象之间的转换,简化了数据交换过程。熟练掌握JAXB的使用,能大大提高开发效率,并让代码更加简洁、易于维护。在实际项目中,可以结合标签...

    JAVABEAN

    在这个特定的系统中,JavaBean可能被用来封装每个帖子、用户信息或者论坛板块的数据,同时提供操作这些对象的方法。 标签"JAVA javabean"进一步强调了这个项目与Java语言和JavaBean规范的紧密关系。这意味着开发者...

    实验3 内置对象、Cookie与JavaBean实验源代码.rar

    总结起来,这个实验涵盖了Java Web开发中的核心概念,通过实践这些技术,你将更好地理解Web应用程序的运作方式,以及如何利用内置对象、Cookie和JavaBean来提升应用程序的功能和用户体验。记得在实验过程中,要详细...

    数据库自动生成JavaBean对象

    下载了绝对不后悔,100%好用,支持Mysql Oracle SQL Server ,PostgreSQl.等数据库 还有各种集成的小工具 表名互转驼峰,,,,Json.XML 字符串格式化..JSon与XMl互转,String字符串拼接等功能

    JavaBean_Javabean增删改查_audiencevu9_

    JavaBean是Java编程中的一种重要概念,主要用于封装数据和业务逻辑,它遵循一定的规范,使得Java对象能够被方便地在Web应用中使用,特别是在Servlet和JSP之间传递数据。在这个项目"JavaBean_Javabean增删改查_...

    JSP内建对象、使用JavaBean

    **JSP技术概述** JSP(JavaServer Pages)是Java平台上的动态...了解并熟练掌握JSP的语法、内建对象以及与JavaBean的交互,是成为专业Web开发者的必备技能。在实际项目中,通过案例实践能更好地理解和运用这些知识点。

Global site tag (gtag.js) - Google Analytics