文档章节

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
软件测试工程师是低人一等还是一金难求--请看微软观点

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

软件测试网
03/21
0
0
涩女郎/ctp_redis

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

涩女郎
2016/10/13
0
0
航空航天行业工作站应用---EDA仿真计算工作站

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

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

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

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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

kernel version does not match DSO version

错误信息: kernel version 384.11 does not match DSO version 384.130.0 原因是: cuda driver版本太低,不匹配DSO 简单有效的修复方法,升级nvidia driver, 步骤如下: 1. google seach ...

刘小米
今天
0
0
maven坐标和依赖

一、maven坐标详解 <groupId>com.fgt.club</groupId><artifactId>club-common-service-facade</artifactId><version>3.0.0</version><packaging>jar</packaging> maven的坐标元素说......

老韭菜
今天
1
0
springmvc-servlet.xml配置表功能解释

问:<?xml version="1.0" encoding="UTF-8" ?> 答: xml version="1.0"表示是此xml文件的版本是1.0 encoding="UTF-8"表示此文件的编码方式是UTF-8 问:<!DOCTYPE beans PUBLIC "-//SPRING//......

隐士族隐逸
今天
1
0
基于TP5的微信的公众号获取登录用户信息

之前讲过微信的公众号自动登录的菜单配置,这次记录一下在TP5项目中获取自动登录的用户信息并存到数据库的操作 基本的流程为:微信设置自动登录的菜单—>访问的URL指定的函数里获取用户信息—...

月夜中徘徊
今天
0
0
youTrack

package jetbrains.teamsys.license.runtime; 计算lis package jetbrains.ring.license.reader; 验证lis 安装后先不要生成lis,要把相关文件进行替换 ring-license-checker-1.0.41.jar char......

max佩恩
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部