文档章节

3.2 软件架构设计

scaujohn
 scaujohn
发布于 2015/04/01 17:49
字数 669
阅读 102
收藏 0

A.软件分层。(暂未画包图)


B.命名规范。
(1)DAO层的设计:
        创建基本的CRUD实体操作泛型接口和泛型接口实现类,实现基本的数据操作;创建复杂的泛型接口和泛型实现类,实现一些较复杂的操作,如分页显示,复杂的查询功能。对于个别需要较复杂的单独操作的VO,单独为其创建接口和实现类,接口继承第二步中的泛型接口,实现类继承第二部中的泛型接口实现类。
(2)Service层的设计:
        Service的设计和DAO层类似,也是创建基本的基于基本DAO类的CRUD实体操作泛型接口和泛型类。一些较复杂的操作可另外定义单独的接口和实现类继承基本的泛型接口和实现类,
(3)命名规范:
        使用驼峰法,英文命名,做到尽量简洁明了,一目了然。
        VO层的命名,实体类的命名,如产品和产品类别,分别为Product.java和ProductCategory.java,且注明数据库中表的命名,一个单词(如Product)的直接为product;两个或两个单词以上的(ProductCategory)的,中间使用下划线(_)间隔,即product_category。
        DAO层的命名,接口为XxxDao.java,实现类为XxxDaoImpl.java。例如Product.java,接口命名为ProductDao.java,实现类命名为ProductDaoImpl.java。
        Service层的命名,接口为XxxService.java,实现类为XxxServiceImpl.java。例如接口为ProductService.java的实现类为ProductServiceImpl.java。
        Action层的命名,action类命名为XxxAction.java,其中@action的名字则为xxxAction(小写字母开头,驼峰法)
        View层的命名,分模块划分为不同的包,小写字母开头,驼峰法,相同类型的界面开头字母相同,如用户的登录界面和注册界面,分别命名为userLogin.jsp和userRegister.jsp。


C.  架构相关设计模式。

        使用Struts,Spring和hibernate实现MVC模式和DAO设计模式,从下到上分别为

        数据库:存储数据。
        VO层:每一个实体类映射一张数据库表,对实体类的操作相当于对数据库中表的操作。
        DAO层:实现对VO层实体类的基本操作,提供接口和实现类。
        Service层:在DAO层之上,实现逻辑处理,并提供接口和实现类共Action层使用。
        Action层:实现跳转和数据传输。
        View层:页面展示。
        其中从VO到View,使用全注解,并利用Spring自动装载,实现解耦和资源管理。

© 著作权归作者所有

共有 人打赏支持
scaujohn
粉丝 10
博文 11
码字总数 2821
作品 0
广州
红帽的 OpenStack 产品正式商用

Red Hat 云架构和红帽企业 Linux OpenStack 平台产品,是围绕着 OpenStack Grizzly 构建的,目前已经 可用 了。这二者都是在一个月之前发布的,合并了不同的红帽产品,主要设计用来帮助企业快...

oschina
2013/07/12
4K
7
涩女郎/ctp_redis

ctp_Redis 注意: 以后本系统将第一时间在github上更新,请大家关注此处。 依赖 ctp_redis依赖hiredis、xredis在使用xredis前需要安装hiredis库; 安装部署: redis 3.2版本; redis 3.2目录dep...

涩女郎
2016/10/13
0
0
软件测试工程师是低人一等还是一金难求--请看微软观点

   最近看到一些文章报道,软件测试工程师那很高的薪水,很高的待遇,可是很多人还是越不过去那种心理障碍。大家都认为软件测试工程师是为那些程序员打杂,甚至被人驱使,去收拾残局........

软件测试网
03/21
0
0
航空航天行业工作站应用---EDA仿真计算工作站

航空航天系统是一个典型的集“高大上”精尖技术于一体的庞大、复杂的行业,相关未来的产品,涉及到总体设计、气动、结构、强度、振动、液压、燃油、环控、救生、电子、电气、仪表、雷达、材料...

wdf8088
04/23
0
0
【读书笔记】第三章 大型网站核心架构要素

第三章 大型网站核心架构要素 软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计 软件架构需要关注的几个方面: 1. 系统功能需求(最基本的) 2. 性能 3. 可...

一条大河波浪宽
2015/07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

android -------- MVP+DataBinding 的使用

天来说说MVP+DataBinding 的使用 以一个登录案例来讲解 布局:(ConstraintLayout 作为根布局) <layout> <data> <variable name="onClick" ......

切切歆语
34分钟前
1
0
阿里十年Java架构经验总结,这几点尤为重要!

你有没有静下心来思考过:同样是做了x年Java开发,为什么你的技术比别人差很多?为什么别人每月28K你却只有10K? 其实技术水平的高低和个人智商关系不大(毕竟能做Java编程开发大家都不会差)...

别打我会飞
38分钟前
1
0
Ubuntu 中安装和配置 Caddy 服务

首先访问:https://caddyserver.com/download 选择操作系统、插件和授权类型,点击 Download 下载编译好的文件包,或者执行页面最下面的一键安装脚本,完成 caddy 的安装。 安装完成后,/us...

八风不动
53分钟前
2
0
java代码效率优化

1、 尽量指定类的final修饰符 带有final修饰符的类是不可派生的。 2、 尽量重用对象。 3、 尽量使用局部变量,调用方法时传递的参数以及在调用中创建的临时变量都保存在栈(Stack)中,速度较...

踏破铁鞋无觅处
今天
3
0
程序员的几款利器

1. 作为程序员,最希望的就是自己的代码能够在一个云平台上保留下来,gitlab等等这些很多。但是我这里推荐“码云平台”码云平台和开源中国可以直接关联起来。开源中国可以记录博客,当然也是...

ChinaHYF
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部