领域建模中的对象如何睡在数据库中
刚刚注册了一个新的账号,这已经是我注册的第二个账号了,第一个账号的用户名和密码忘了,见笑!在Jdon已经很久了,时不时的就上来看看banq老师和各位道友的帖子其中感受颇深,我学习Java已经有些年头了,无奈一直在使用过程式的开发,程序中几乎除了DAO就没有别的什么逻辑操作了,呵呵,我知道这是和面向对象想抵触的,但是系统不是我设计所以我才感觉无奈。
为了进入状态扯了一些废话请见谅,是在受不了每个程序除了DAO还是DAO,所以我决定自己使用面向对象的思想进行一些设计,在这当中我发现了很多问题,当要持久化对象的时候才发现,使用面向对象的思想在数据库中似乎很困难,拿权限模型来说吧,我是这样设计的有用户,用户组,角色,权限几个对象,我给角色定义为一个抽象角色,所以就需要一些子类角色进行继承,那持久化的时候如何设计表?毕竟现在要是想保持对象的状态还是的放在数据表中啊,这是一点,还有我们正常的思维一个用户组可以具有几种角色,一个角色拥有几个权限这些都是集合的关系,保持这些状态的时候数据库又应该如何做?数据库和面向对象思想的冲突决定了这些思维上的问题,ORM框架似乎可以进行解决,但是问题是有些系统不能使用ORM框架,在领域中的对象往往有自己的方法,我要将这样的充血对象持久化的时候难道需要先提取出来一个PO(只含有充血对象属性的类),然后进行持久化吗?
也许我对领域建模还没有深入的理解,可能一些解决的办法我还没有发现或是领悟,所以希望banq老师和各位道友给予帮助。谢谢大家
[该贴被zzxsky1986于2008-11-25 17:55修改过]
[该贴被zzxsky1986于2008-11-25 17:57修改过]