对象本质上是一种命名技术,即将一组相关的数据和函数放在一起,起一个名字。从业务层面上看,我们需要识别出大量的概念,对应到建立的领域模型,我们就拥有不同的业务对象。这些业务对象的类型各不相同,可以区分出来。从中间件层面上看,需要从大量业务对象中抽象出共性,并以统一的方式进行处理。即在中间件层,所有业务对象的类型被弱化下来,实际上丧失了其各自的独特性,即在中间件层看来,这些不同业务对象的类型是相同的。在中间件层的做法,一般是使用reflection方法并结合少量全局性的接口。实际上是在结构层面上将对象作为Map来处理。这就象是应用科学与数学的关系。数学在抽象的层面上研究结构之间的关系,每一个具体学科对相同的数学定理赋予不同的诠释。
理论上,一个概念最好能够自适应的在不同的抽象层面上表现为不同的结构,但受限于当前的面向对象实现技术,实际采取的技术路线多半为建立唯一的强类型模型==>通过reflection得到弱类型结构。因为java class作为元数据能够承载的信息量有限,reflection方法可能并不能充分揭示对象的结构,所以一般还要额外补充xml说明文件等。 因为我个人主要的工作都作在中间件层,所以我的做法是尽量使用Map和List等抽象数据结构,结合元数据对象,在需要强类型的时候通过对象封装来转化为强类型。即从弱类型==>强类型。
例如:
class Work{
public static final String KEY_NAME = "name";
public static final String KEY_DESCRIPTION = "description";
Map work;
public String getName(){
return (String)work.get(KEY_NAME);
}
public String getDescription(){
return (String)work.get(KEY_DESCRIPTION);
}
public void setName(String name){
work.put(KEY_NAME,name);
}
...
public Map toMap(){
return work;
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/canonical/archive/2005/03/26/330871.aspx
分享到:
相关推荐
Java对象序列化是Java平台的一项重要特性,它允许将对象的状态转换为字节流,以便存储、传输或恢复。在本文中,我们将深入探讨关于Java对象序列化你可能不知道的五件事情,这些知识点对于理解和优化你的Java应用程序...
综上所述,《Java面向对象程序设计(第2版)》课件涵盖了Java编程的核心内容,通过学习,开发者不仅能掌握Java语法,还能理解面向对象编程的本质,提升软件开发能力。通过实际项目练习,这些理论知识将得到巩固,成为...
面向对象编程是软件开发中的一种核心思想,尤其在Java这样的面向对象语言中至关重要。它与传统的面向过程编程有着显著的区别。面向对象编程(OOP)强调的是数据和操作这些数据的函数(方法)的组合,即对象。在这个...
### Java基础:对象及引用详解 #### 一、Java中的对象与引用概念 在Java编程语言中,理解和掌握对象和引用的基本概念是非常重要的。这两者虽然紧密相关,但也有本质的区别。 **对象**:在Java中,对象是类的一个...
Java对象序列化是Java开发中的一个重要概念,它允许我们将Java对象转换为字节流,以便存储、传输或在不同时间点恢复。以下是五个可能不为人知的关于Java对象序列化的知识点,这些知识点对于深入理解Java开发至关重要...
### Java面向对象思想总结 #### 一、面向对象三大特征 **1. 封装** - **定义**:封装是指将类的属性隐藏起来,仅通过公共方法来访问这些属性的过程。这种做法不仅可以保护数据不被非法修改,还可以在方法中加入...
看清Java万花筒的本质,从复杂的表象中寻找普遍的规律,深刻理解Java的核心思想。 紧密结合实际,运用典型实例,循序渐进,行动详细讲解Java面向对象的编程思想、编程语法和设计模式。 总结优化Java编程的各种宝贵...
### 深层解析Java虚拟机中的栈与堆:对象的内存分布 #### 核心概念:栈与堆的本质及作用 在Java编程语言中,理解栈(stack)和堆(heap)的概念及其工作原理对于深入掌握Java虚拟机(JVM)如何管理内存至关重要。栈和堆...
面向对象编程(OOP)是Java语言的重要特点,它从现实世界中客观存在的事物出发来构造软件系统,并尽可能运用人类的自然思维方式。面向对象编程的思想强调直接以问题域中的事物为中心来思考问题,认识问题,并根据...
JoSQL是Java编程语言中的一款库,它提供了一种简单的方法来查询和操作Java对象集合,就像使用SQL查询数据库那样。这个压缩包“Java对象的SQL接口 JoSQL.7z”很可能包含了JoSQL库的源代码、文档以及相关的示例项目,...
总的来说,面向对象的思维方式强调从现实世界的角度出发,理解问题的本质,然后构建出能够反映这些本质的类和对象。通过这种方式,我们可以创建出更加灵活、可维护和可扩展的软件系统。在Java中,这种思维方式是编写...
抽象是指在面向对象设计中只关注对象的本质特征,忽略具体实现细节的过程。在Java中,抽象类和接口是用来实现抽象的主要方式。抽象类不能被实例化,但可以作为其他类的基类,包含抽象方法和具体实现的方法。接口则...
- 抽象:这是面向对象编程的基础,通过抽象,我们可以忽略不必要的细节,关注事物的本质特性。 - 封装:这是信息隐藏的过程,它确保对象的内部状态不会被外部代码随意修改,保护了对象的完整性。Java通过访问修饰符...
本书名为《Java面向对象问题解决》第三版,作者R.Morelli和R.Walde,由Trinity College出版于2012年2月5日。本书是经典Java教学书籍,全面介绍Java面向对象编程,保留了前两个版本中强调的“面向对象”的编程和问题...
Java的对象永续之道,实质上是对序列化技术的深入探究。通过序列化,Java实现了对象的持久化,使得数据可以在系统重启后继续存在。序列化机制不仅简化了对象的持久化过程,还提供了灵活性,允许程序员根据需要自定义...
面向对象编程(Object-Oriented Programming,简称OOP)的概念源于人类对事物本质的理解和自然思维的方式。 (一)面向过程与面向对象的比较 面向过程编程是一种线性的、步骤驱动的编程范式,它关注如何执行一系列...
### Java面向对象编程思想 #### 一、面向对象的基本概念 **面向对象编程(OOP)** 是一种软件开发范式,它强调将程序结构化为独立的对象集合,每个对象都可以包含数据(属性)和方法(行为)。Java作为一种典型的...
- 基于类的OOP(ES6以后):ES6引入了`class`关键字,但实质上仍然是基于原型的,提供了一种更接近传统面向对象语言的语法糖。 从描述中我们得知这是一个可以直接运行的Java项目,这可能意味着它包含了完整的源...