基于Spring,struts,hibernate的JYazd仿yazd及jivejdon
2010-03-12 09:17
399 查看
声明:出于学习的目的.本文大部分复制于jivejdo forumn的开发文档,修改的内容是技术实现,以及部分设计上的修改.
分析设计
用例图:
角色设计:Anonymous普通用户;注册用户User;管理者Admin;
普通用户用例功能:
浏览所有论坛;
浏览所有帖子;
浏览其他用户信息;
建模:
从用例图中可以发现,模型有Account(用户),Forum(论坛),ForumMessage(帖子). 论坛和帖子之间其实也存在这样一个集合概念:FourmThread,如下:
ForumThread相当于主题Topic; 但Topic主要内容放入rootMessage中,可以说相当于所有rootMessage的主题提要,包括回复rootMessage的最后的一个回帖,包括rootMessage在内的所有帖子数等,主要服务于显示一个论坛中所有rootMessage集合。
ForumThread和Forum之间是N:1关系ForumMessage相当于帖子;ForumMessage之间有一个父子关系,表示帖子之间回帖关系;ForumMessage和ForumThread之间是N:1关系,和Forum之间也是N:1关系。
领域模型图如下:
Evans DDD在领域对象的生命周期中对不变性(invariant)进行了定义,指无论何时数据发生变化,都必须满足所有对象一致变化的规则。
围绕ForumMessage,其组成部分Fourm ForumThread Account都是其核心部分,就像汽车由发动机 车身 轮胎组成一样,缺一不可。特别是ForumThread和ForumMessage,更是这种不变性的高度统一,ForumThread实则是虚的,它里面实体就是ForumMessage,两者是高度一致的。
DDD指出;聚合内部的不变量必须在每次事务完成时满足。这可有仓储来实现。
当然,还有一些依赖关系只能在某些特定的时刻,通过事件处理、批处理和其他更新机制来实现,比如上图中state和tag 以及property。
分析设计
用例图:角色设计:Anonymous普通用户;注册用户User;管理者Admin;
普通用户用例功能:
浏览所有论坛;
浏览所有帖子;
浏览其他用户信息;
建模:
从用例图中可以发现,模型有Account(用户),Forum(论坛),ForumMessage(帖子). 论坛和帖子之间其实也存在这样一个集合概念:FourmThread,如下:
ForumThread相当于主题Topic; 但Topic主要内容放入rootMessage中,可以说相当于所有rootMessage的主题提要,包括回复rootMessage的最后的一个回帖,包括rootMessage在内的所有帖子数等,主要服务于显示一个论坛中所有rootMessage集合。
ForumThread和Forum之间是N:1关系ForumMessage相当于帖子;ForumMessage之间有一个父子关系,表示帖子之间回帖关系;ForumMessage和ForumThread之间是N:1关系,和Forum之间也是N:1关系。
领域模型图如下:
Evans DDD在领域对象的生命周期中对不变性(invariant)进行了定义,指无论何时数据发生变化,都必须满足所有对象一致变化的规则。
围绕ForumMessage,其组成部分Fourm ForumThread Account都是其核心部分,就像汽车由发动机 车身 轮胎组成一样,缺一不可。特别是ForumThread和ForumMessage,更是这种不变性的高度统一,ForumThread实则是虚的,它里面实体就是ForumMessage,两者是高度一致的。
DDD指出;聚合内部的不变量必须在每次事务完成时满足。这可有仓储来实现。
当然,还有一些依赖关系只能在某些特定的时刻,通过事件处理、批处理和其他更新机制来实现,比如上图中state和tag 以及property。
相关文章推荐
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统
- Struts1基于Json数据格式的ExtJs单选树(Struts1+Spring+Hibernate)
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式
- 【备注】【C20】《java web整合开发实战:基于struts 2+hibernate+spring》PDF
- Struts2.1&Hibernate3.2&Spring2.5集成[基于Annotation]--配置文件
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统
- 基于Struts 1.x + Hibernate 3.x + Spring 2.x 整合
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统 .
- Struts2.1&Hibernate3.2&Spring2.5集成[基于Annotation]--Spring2.5单元测试
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统
- 基于Struts 2.x + Spring 2.x + Hibernate 3.x整合开发
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式 .
- 《精通 Java EE 项目案例 —— 基于 Eclipse Spring Struts Hibernate》 勘误
- 基于james3.0 的邮件系统(struts2.3.2 +spring3.0.1+jpa(hibernate3.6.5)实现)b/s模式--java邮件系统
- Struts2.1&Hibernate3.2&Spring2.5集成[基于Annotation]--运行效果
- Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制系统