文档章节

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
4.1K
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

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(9.5)用MR实现sql中的jion逻辑

上一篇博客讲解了使用jar -jar的方式来运行提交MR程序,以及通过修改YarnRunner的源码来实现MR的windows开发环境提交到集群的方式。本篇博主将分享sql中常见的join操作。 一、需求 订单数据表...

em_aaron
11分钟前
0
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
17分钟前
0
0
《告诉你真实的美国教育》的读后感3900字

《告诉你真实的美国教育》的读后感3900字: 文章的开篇分析了我们耳熟能详的关于美国教育的小故事,就是那个因为幼儿园的老师教了“0”这个字母,然后妈妈告老师剥夺了孩子的想象力,再然后幼...

原创小博客
25分钟前
0
0
Terraform配置文件(Terraform configuration)

Terraform配置文件 翻译自Terraform Configuration Terraform用文本文件来描述设备、设置变量。这些文件被称为Terraform配置文件,以.tf结尾。这一部分将讲述Terraform配置文件的加载与格式。...

buddie
40分钟前
2
0
exportfs命令, vsftp搭建ftp服务

exportfs命令 当修改/etc/exports文件后,更改的内容是不会立即生效的。如果重启nfs服务,会导致客户端重启期间的请求是挂起等待的,可以把客户端的挂载umount进行卸载后,再重启nfs服务,但...

野雪球
51分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部