先说一下openfans最早版本的整体设计。首先是用Equinox直接new出项目来,它默认是springmvc+spring+hibernate再加上一些常用的组件,如sitemesh,common-validator,dwr等。而这些都是我们想要的。
有了这个大的框架,我们可以进行业务建模了,我们采用的是领域模型驱动的设计方案。首先考虑的是对象以及对象间的关联,我们也没用什么建模工具和自动生成工具,先自己写java类,写好属性,用eclipse生成get和set。然后手写hibernate的hbm配置文件,有点土,这也是我第一正式的使用hibernate。开始我用了dao模式,写了好多dao,后来和oofrank讨论,一直认为hibernate就是我们的持久层,完全没有必要为了移植性(如将来使用ibatis)而引入dao。所以抛弃了dao模式,而由一个façade处理持久。这样的设计跟一般的三层模型略有不同,hibernate就是我们的持久层,然后通过一个façade提供对上层的接口。领域模型和mvc中的c充当我们的业务层。我们的对象不是贫血模型,而是有能力的。当然现在这种能力更多是对象间的关联,而对持久层无能为力,但也已经方便了很多。Controller现在具有较多的功能,它能调领域对象,也能直接使用façade。然后是jsp+jstl+el做纯粹的展现层。C和V的分类原则是这样的:一类是查看,一类是form提交。所有查看由一个viewController统一处理(这样增加了一些耦合,但效果还可以),一个对象的增、删、改由一个formController处理。
有了这些设计原则,做起来倒是很快,几天就核心功能出来了。对于数据库,只要建一个库就行,其余的如建表,改表等都由hibernate来自动帮你完成,数据库就是在写hbm时关心下,其它完全对我们透明,感觉还是挺爽的。 最初版一共就20几个类,完成了很多的功能,可以具体看
www.openfans.org 下一篇写怎么使用maven和tomcat,让openfans在自己机器上跑起来。先去吃饭了,^_^。大家有任何疑问和好的改进意见,都可以提,跟帖。
分享到:
相关推荐
小红薯电商实操课小红书开店实操必学课.mp4
AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
基于java的新能源充电系统设计与实现.docx
吸波材料建模单元周期仿真模拟,参数优化,计算反射损耗,极化角,入射角,等效阻抗等
AGV调度系统的仿真平台(含源码+项目说明+实验结果分析).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
【本体】Internet Download Manager v6.42.26.zip
NLP中文垃圾短信分类系统源码+设计全部资料+文档报告(自然语言处理课设).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!
Python大作业封面.doc
基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业),个人经导师指导并认可通过的毕业设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开发的安卓的记事本app项目源码(高分期末大作业)基于Android Studio开
操作系统课后题参考答案
几何图霸软件是一个非常强大的三维几何图形绘制工具,可以根据约束条件绘制标准示意图,写相关技术类文章需要绘图时很适用。
《写给大众的健康饮食指南》.mp4
智能相册Piktures v2.19 build 815 for 高级版.mp4
建行开养老金必中58元微信立减金亲测.mp4
Converter视频音频转换器v2.2.5.2解锁VIP版.mp4
车来了v4.59.0高级版 精准实时公交地铁神器.mp4
基于java的招生宣传管理系统设计与实现.docx
iiiicfdfdsffffffffffffffffffff
这是本人期末复习期间的产物,传上来主要是为了方便保存和复习,如有错漏还请谅解。