只显示主题贴
面向事物的开发方法
在开发和使用XWorker的过程中逐渐总结出了一个面向事物的开发方法。
XWorker中的数据称为数据对象(事物),数据对象可以有自己的行为,因此也就有了Java的Object的味道。
面向事物的开发方法和面向对象的开发方法的区别在于面向事物的开发方法里没有类的概念。面向事物的开发方法中所有的对象称为事物,事物之间有两种关系:
1. 继承:继承属性子节点和行为。
2. 描述:继承描述者的行为。
继承和Java中的继承的概念是一样的,不过在XWorker中除了不能继承自身外其他没有限制。
描述相当于类和接口的概念,在XWorker中一个事物是不能以自己为 ...
- 进入论坛 Java 版
去年的时候已经在这里发不过XWorker了,不过最终是不了了之了。
XWorker所基于的理论是发现如果以最简单的方式重新定义XML的结构,那么任意XML的结构的结构是一样的。
注:这里的XML指的是简洁的XML,没有XML头信息、cdata等。
任意XML的结构的结构一样的是XWorker所关心的,也是去年没有说清楚的内容,因为这究竟代表了什么,还没有公认的结论,即使我们现在认为是和认知有关的,那也是我们的一厢情愿而已。
熟悉XML的人可知通过XML的结构(Schema或dtd)可以构造XML数据,那么通过结构的结构从字面上就可以解释为:通过结构的结构可 ...
- 进入论坛 Java 版
抛出异常的爱 写道都用过
用前一种是由于系统中 不真正的删除一条数据(每条信息都是有标志位的...备份时删除)
用后一种是防止删错
这样系统处理的还是比较周到的,如果不管如何都要确实删除一个数据,那么就会连外键的相关数据一并删除,所以需要一个表一个表的查,但外键的数据其他地方可能还会引用,所以加个标志位不是真正的删除比较合理。
LZ所说的应该是只是防止删错,防止删错给个合理的提示即可。
- 进入论坛 Java 版
XMLDB 写道duooluu 写道经常会下面这种情况:
要从数据库删除一条记录,但由于外键关联无法删除(不能做级联删除)。这里有两种处理方式:事前检查,事后报告
事前检查:检查是否还有其他记录关联到待删除的记录
事后报告:如果抛出数据库异常,可以写一个通用的翻译工具类,通过解析异常代码和异常中是否包含外键约束名来报告不同的错误。
我觉得前者比麻烦,但比较合理,因为这种情况是可以预料的,不应该让它发生异常。后者比较简单,实际上我也用第二种办法。
我非常想听听大家的观点
毫无疑问,如果现实存在需要级联删除的情况,而系统没有针对这种情况作出设计,明显是设计不良.
duooluu 说的方法都不可取, ...
- 进入论坛 Java 版
上午看了上篇,下午看了下篇,看完后对楼主的DateSet和DataSetMetadata两个接口感觉比较亲切,我可以想到接口里每一个方法的用途,甚至包括那个系统本身不是必须的columnLabel。不过因为我们的最终应用不同,后面的东西就大相径庭了。
看了各位的回复,感觉能够理解楼主本意的不是太多(我也不一定理解正确),觉得还是应该推广这个数据集的概念,因为它是非常有用的东西,而且它也是通用的,未来的编程中可能会处处用到它。
如果大家用过JDBC来实现一个通用的数据库管理程序(如SqlServer的查询分析器),那么一定会使用到Connection的Metaata和ResultSet的Me ...
- 进入论坛 Java 版
今天在Google搜索时发现了这个帖子,发现我研究的东西和你讲的东西本质上有共同之处。可以参看www.xworker.org。
我在XWorker中定义的数据对象正好也是一个兼顾Hash, Tree,和ResultSet特点的数据结构,它具有你所说的那些特征。
XWorker中定义的数据对象也引入了O的概念,它可以具有行为,另外对于元数据和结构的概念我们也进行了泛化,即任何一个数据都可以非本身之外的任何数据做为自己的元数据或结构。
算法的设计是取决于数据的逻辑结构的,OO是固定结构所以算法固定,算法固定程序的功能也就固定了,而Hash里保存的内容是非固定的所以内容的结构也不固定的,所以如 ...
- 进入论坛 Java 版
象我这样的人估计是跟不上潮流了,从1.1到1.4感觉变化还不是很大,自1.5后发现好多名词居然不认识,不过也懒得去学了。
- 进入论坛 Java 版
目前能想到的也就是用Query往下拼了,想想看Criteria不也是在拼么,它只不过替你做了拼的工作。
- 进入论坛 Java 版
这个问题曾经也困惑我了好久,不过我要告诉楼主你提的问题在你的问题里已经解决了。
java 代码
list = dbSession.createQuery("select s from Area a, Customer s where a.id = s.id and a.id=1").list();
Area和Customer是没有关联的。
sql 代码
...
- 进入论坛 Java 版







评论排行榜