Jam*_* P. 4 java business-objects pojo javabeans value-objects
问题标题中提到的概念在某种程度上是同义词吗?主要差异在哪里(背景,结构,......)可以被视为另一个的子集?以下是维基百科的一些简要定义.
POJO(Plain Old Java Object) 维基百科
在计算软件中,POJO是Plain Old Java Object的首字母缩写.该名称用于强调给定对象是普通Java对象,而不是特殊对象,特别是不是Enterprise JavaBean.该术语由Martin Fowler,Rebecca Parsons和Josh MacKenzie于2000年9月创造:
Run Code Online (Sandbox Code Playgroud)"We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and it's caught on very nicely."
Java Bean 维基百科
JavaBeans是Java的可重用软件组件,可以在构建器工具中以可视方式进行操作.实际上,它们是用符合特定约定的Java编程语言编写的类.它们用于将许多对象封装到单个对象(bean)中,以便它们可以作为单个bean对象而不是作为多个单独对象传递.JavaBean是一个可序列化的Java对象,具有一个无效的构造函数,并允许使用getter和setter方法访问属性.
价值对象 维基百科
数据传输对象(DTO),以前称为值对象或VO,是用于在软件应用程序子系统之间传输数据的设计模式.DTO通常与数据访问对象结合使用,以从数据库中检索数据.
商业对象 维基百科
业务对象是一种可理解的实体,是n层面向对象计算机程序中业务层内的一个actor.
有关:
DTO,VO,POJO,JavaBeans之间的区别? JavaBean和POJO有什么区别? DDD:实体和价值对象之间的差异有什么用?
并非所有这些分类都相关.这是我的理解:
POJO就是它的名字所暗示的 - 一个普通的旧Java对象.没什么特别的.当我们说对象是POJO时,这正是我们想要传达的.今天,大多数应用程序使用某种底层框架,并且框架对与框架集成的对象提出了要求 - 对象必须实现接口或扩展类.当我们说一个对象是一个POJO时,我们的意思是说它只是一个普通的对象而且对任何框架都没有依赖性.
JavaBean是一个遵循您的问题中描述的某些约定的java类.这些对象通常由某些框架强制要求,这些框架使用反射来找出对象的属性(可通过getter/setter访问)并操纵它们,例如暴露给JSP,Spring bean等的bean .JavaBeans的优点是它们仍然是POJO .虽然它们遵循某些约定,但约定不是由任何特定框架定义,而是由Sun Javabean标准定义,并且类仍然是纯Java类,与任何第三方框架的类或接口无关.
Business Objects引用代表业务域实体的对象.这些通常位于业务层 - 所有业务逻辑所在的层.这些对象通常映射到持久性存储实体,例如表.这些对象可以是POJO,JavaBeans,EJB等.
值对象是一种设计模式.在某些小型Web应用程序中,您还可以选择在Web层中使用业务对象.但是,在较大的应用程序或J2EE应用程序中,您可以定义值对象以将信息从业务层移动到Web层.这就是为什么它们也被称为数据传输对象(DTO).这些对象通常只具有Web层中所需的属性,并留下业务对象的属性,这些属性是用于业务层消费的.它们还可能具有在业务层中生成的"计算"属性.使用此模式有助于解耦业务层和Web层.
| 归档时间: |
|
| 查看次数: |
408 次 |
| 最近记录: |