`
e3002
  • 浏览: 79322 次
社区版块
存档分类
最新评论

关于软件设计,解偶,测试

阅读更多

最近一直在琢磨以下几个问题:

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的方式,因为在集成测试中这样才使你的测试更有意义,看到的效果才更真实(拙见)

 

目前了解的不多,有点晕眩,记录下目前的理解,有待以后改进完善,希望看到的人不吝赐教!

 

 

 

 

分享到:
评论

相关推荐

    机械工程测试技术 答案

    《机械工程测试技术》是一本深入探讨机械系统测试...为了充分利用这个资源,学生需要确保他们有正确的软件来解码或解压缩文件,然后对照书中的问题,逐一检查自己的解答是否正确,进一步深化对机械工程测试技术的理解。

    Rs485串口软件ut-890drv.zip

    Rs485串口软件UT-890DRV是一款专为Windows系统设计的通信工具,主要功能是通过Rs485接口实现设备间的通信。Rs485是一种广泛应用于工业控制、自动化领域的通信协议,其特点是传输距离远、抗干扰性强,能支持多节点...

    CEIWEI_CommMonitor_20208.zip

    CEIWEI_CommMonitor_20208是一款专为串口监控设计的软件工具,它为开发者提供了强大的功能,以便于调试和测试串行通信接口。本文将详细介绍该软件的功能特性、使用方法以及其在编程语言中的应用。 一、CEIWEI_...

    串口助手 Serial Port Utility

    串口助手(Serial Port Utility)是一款专为开发者和电子爱好者设计的小巧且高效的工具,用于进行串行通信的测试和调试。它可以帮助用户方便地与各种设备,如微控制器、模块或传感器,通过串行接口进行数据交互。串口...

    SSCOM4.2串口调试助手

    SSCOM4.2串口调试助手是一款专为电子工程师、软件开发者和爱好者设计的实用工具,主要用于进行串行通信的调试和测试。该工具由聂小猛(丁丁)开发,提供了一个用户友好的界面,使得串口通信的调试过程更为便捷。 ...

    串口调试助手V2.1

    串口调试助手V2.1是一款实用的工具软件,专为进行串行通信调试而设计。在电子工程、计算机科学以及物联网等领域,串口通信扮演着至关重要的角色,因为它是设备间进行数据交换的一种基本方式。这款软件能够帮助开发者...

    串口调试助手

    串口调试助手是一款用于串行通信测试和调试的专业软件,尤其适用于电子工程师、开发者和爱好者在设计、测试硬件设备或嵌入式系统时使用。它提供了直观的界面和丰富的功能,便于用户通过串行端口(如RS-232、RS-485等...

    一个基于单片机控制器的微型计算机温度测控系统

    综上所述,基于单片机控制器的微型计算机温度测控系统是一个集硬件设计、软件开发和控制策略于一体的综合性项目。通过实时监测和实时控制,结合模糊控制算法,该系统能实现高效、精确的温度管理,广泛应用于各种需要...

    串口调试助手V2.2

    该软件具备友好的用户界面和强大的功能,帮助用户进行数据收发、波特率测试、串口设置等工作,以确保硬件设备或软件程序的串口通信功能正常运作。 串口,又称串行接口,是计算机上一种常见的通信接口,广泛应用于...

    电子-一种用于测定电机线圈极限参数的装置

    5. 数据分析与处理:收集到的测量数据需要通过专业软件进行分析,以便找出线圈性能的最优解,同时预测可能的问题,如过热、短路等。 6. 实时监控:现代的测定装置往往具备实时监控功能,能够持续监测线圈的工作状态...

    ABSender+apr+apr-util

    ABSender是一款增强版的Apache Bench工具,主要用于进行Web服务器的压力测试。Apache Bench是Apache HTTP Server自带的一款简单HTTP请求...同时,也可以通过对比不同压力测试结果,选择最适合的服务器架构和软件配置。

    netassist_v4.3.25.zip

    在使用"netassist_v4.3.25"时,用户需解压缩文件,然后按照软件的引导进行安装。安装完成后,用户可以根据实际需求配置串口参数,启动调试过程。在实际应用中,这个工具对于物联网设备、嵌入式系统、工业自动化设备...

    插件开发框架(含开发示例源码,权限管理源码,开发说明文档,基于DevExpress控件)

    本插件框架实现了界面与逻辑的解偶,从此告别在代码中到处判断工具栏上按钮的使能,同时在不修改系统已有代码的前提下也能实现向系统中增加功能即符合开放-封闭原则,避免在扩展新功能时需要大量修改已有代码,从而...

Global site tag (gtag.js) - Google Analytics