文章内容转载自:http://downpour.iteye.com/blog/1217726
详细内容参考原链接
对象构成分析
- 签名(Signature) —— 对象的核心语义概括
- 属性(Properties)—— 对象的内部特征和状态的描述
- 方法(Methods) —— 对象的行为特征的描述
对象在实际编程过程中,将表现为三种不同的形态和运作模式:
属性-行为模式
这种模式是指一个对象同时拥有属性(Properties)定义和方法(Methods)定义。这是对象最为普遍的一种运行模式,绝大多数的对象都运作在这种模式之上。
属性模式
这种模式是指一个对象只拥有属性(Properties)定义,辅之以相应的setter和getter方法。Java规范为运行在这种模式下的对象取了一个统一的名称:JavaBean。JavaBean从其表现出来的特性看,可以作为一种数据的存储模式和数据的传输载体。
行为模式
这种模式是指构成一个对象的主体是一系列方法(Method)的定义,而并不含有具体的属性(Properties)定义或者说即使含有一些属性(Properties)定义,也是一些无状态的协作对象。运行在这种模式之下的对象,我们往往称之为“无状态对象”,其中最为常见例子是我们熟悉的Servlet对象。
属性对象模式
属性对象模式又称之为JavaBean模式。这种对象的运行模式在我们日常编程中见得非常多。因为作为数据存储和数据传输的载体,运行在JavaBean模式下的对象,在众多的编程层次都会被用到,并且根据作用被冠以各种各样不同的名称:
- PO(Persistent Object) —— 持久化对象
- BO(Business Object) —— 业务对象
- VO(Value Object) —— 值对象
- DTO(Data Transfer Object) —— 数据传输对象
- FormBean —— 页面对象
当一个对象运作在属性对象模式时,其本质是对象的JavaBean特性。我们可以从其表现形式和运行特征中得出这样的一个结论:
我们在这里可以针对对象的行为方法(Methods)的语法做进一步的分析,如图2-2所示:
从图中,我们看到对象方法(Method)的语法定义,同样体现出一定的规律性:
我们可以看到,方法的定义实际上是一种 触发式 的逻辑定义。当需要完成某种行为动作(业务逻辑)时,我们会将请求作为参数输入到方法的参数列表中,而返回值则自然而然地成为了业务逻辑的处理结果。由此,我们可以体会出一个结论:
引用
结论 JavaBean对象的产生主要为了强调对象的内在特性和状态,同时构造一个数据存储和数据传输的载体。
行为对象模式
根据之前有关对象构成的分析,运行在行为对象模式之下的对象,我们往往称之为无状态对象。在上一节中,我们提到对象的内在特性和状态是由构成对象的属性(Properties)来表达的。所以,所谓的无状态对象实际上就是指对象的方法(Method)所表达的行为特性并不依赖于对象的内部属性(Properties)的状态。而这种无状态的特性,非常适合进行一个请求的响应,并在方法体的内部实现中进行复杂的业务逻辑处理。我们在这里可以针对对象的行为方法(Methods)的语法做进一步的分析,如图2-2所示:
从图中,我们看到对象方法(Method)的语法定义,同样体现出一定的规律性:
- 方法签名(Signature) —— 行为动作的逻辑语义概括
- 参数(Parameters) —— 行为动作的逻辑请求输入
- 返回值(Return) —— 行为动作的处理响应结果输出
我们可以看到,方法的定义实际上是一种 触发式 的逻辑定义。当需要完成某种行为动作(业务逻辑)时,我们会将请求作为参数输入到方法的参数列表中,而返回值则自然而然地成为了业务逻辑的处理结果。由此,我们可以体会出一个结论:
引用
结论 对象中的方法定义是进行请求响应的天然载体。