关于软件设计,解偶,测试
来源:互联网 发布:windows无法访问u盘 编辑:程序博客网 时间:2024/05/29 02:08
最近一直在琢磨以下几个问题:
1.web软件到底该分多少层好
2.如何降低层之间的耦合性
3.各层如何进行单元测试
我就以上3个问题说一下自己的理解
1.web软件到底该分多少层好?
常说的mvc,有3层,view,control,model,但具体的项目中的实现恐怕没有对应的那么好的,我的理解:
view(jsp)+actionservlet +action +service+dao+db(可能不对啊!)
view负责展示例如jsp
actionservlet 作为控制层
action我把它归于控制,因为他并不是先具体业务逻辑
service 业务逻辑层
dao 数据持久层
db 数据库
系统的核心在service,所以作为开发人员的关注点也应集中在service(业务逻辑层)。
2.如何降低层之间的耦合性?
从上面的层次来看主要是service和dao ,action和service,以service和dao的解偶为例来说
解偶的方式有如下(就目前所想到的)
1.通过dao接口的方式 在service中通过调用接口达到解偶目的
2.IOC(控制反转),通过配置文件中配置dao(大的系统中如用此方式恐怕配置文件会很大)
3.可以利用设计模式 如工厂模式,当dao中有所改动,只需修改相应工厂方法即可
3.各层如何进行单元测试?
对与view的单元测试,恕本人愚钝目前还不知道
ationservlet和action中不含逻辑可以不进行单元测试(个人观点)
主要说一下service层的测试,测试该层的目的主要是看业务逻辑是否正确,所以一般不涉及到数据库的操作当然你说service中调用了dao中代码,涉及到了数据库操作,这是我们需要mock对象,测试工具可用easymock,接下来是测试dao ,在javaeye中看了些帖子,说测试dao'层主要是看发送的sq的正确性,其实这是独立的dao测试,见到大多数人建议针对dao采用集成测试,即结合真实数据库测试,我也赞同这种测试dao的方式,因为在集成测试中这样才使你的测试更有意义,看到的效果才更真实(拙见)
目前了解的不多,有点晕眩,记录下目前的理解,有待以后改进完善,希望看到的人不吝赐教!
- 关于软件设计,解偶,测试
- 关于软件设计
- 关于软件设计
- csdn 帖子:关于软件设计
- 关于软件设计文档编写
- 关于软件设计的心得
- 关于软件设计文档
- 关于齐鲁软件设计大赛
- 让测试人员参与软件设计
- 2.1软件工程上软件设计测试
- 设计(12) 存储器测试软件设计
- 弹簧动刚度测试软件设计
- 求助!!!关于远程控制软件设计!!!
- 关于软件设计的一点思考
- 关于软件设计的一点心得体会
- 关于软件设计的一点心得体会
- 关于软件设计方面的想法
- 关于软件设计的一点心得体会
- ASP.NET 2.0 使用AJAX对用户名,Email进行验证
- 如何用vmware安装ubuntu
- 股票心得
- DSP 老手的随感
- CSDN 是一种习惯
- 关于软件设计,解偶,测试
- Donet下数据库命名规范
- SAP BC404 课程中文自学笔记
- 一篇关于人生定位和博弈理论的文章(骨头的故事)
- WPF Browser Application(XBAP)程序利用GAC提升权限的方法
- SAP BC405 课程中文自学笔记
- 中国民间艺术品流通站
- SAP BC406 课程中文自学笔记
- IE7每次打开都启动runonce.msn.com地址的解决办法