对Spring的一些负面看法
2005-08-29 14:58
239 查看
Spring的宣传口号中有以下几点:针对接口编程
通过XML配置业务类
避免不必要的Singleton
DAO的封装
异常的处理
AOP
一些额外功能的支持
整个Spring可以这样说,通过配置文件对业务进行配置。 当然有些口号确实帮助程序减轻了开发工作,也使得Web开发更加容易,但是并不是所有的口号都描述了事实。我的看法列在下面,供大家参考: 配置文件有一定的灵活性,但是万事有利有弊,配置文件在带来灵活性的同时,也带来了很多弊端:一般来说,配置文件是无法利用编译器的静态检查功能,只能通过大量单元测试来解决问题,也就是说它将许多可以静态编译器可以发现的错误,推迟到了单元测试甚至运行时才能发现。这样需要编写大量的单元测试,甚至部分是不需要的,无谓的增加开发量。即使进行一些简单修改,也需要完整的运行测试用例,增加了测试量。
有时候说XML配置可以随时修改,不需要重新启动服务,其实不见得,如果新增加了或者修改了类,不管有没有修改配置文件都需要重新启动服务(大部分的WEB Server可以支持热布署),从这方面来看,修改配置文件和修改代码没有质的区别。
利用IDE,如Eclipse很容易查看代码,包括继承,调用等,对代码也很容易管理,对于XML配置文件,随着模块的增加,不仅难以维护,而且难以查找。
如何重构,一般的IDE主要是支持代码级的重构,对XML重构的支持都不完善,XML的验证机制也很难保证XML文件的正确性。
XML配置文件带来弱类型的使用,也就是说如果你要使用一个对象,必须进行强行转换,这样使用,对Java这种强类型的编译语言,其实不一定是一件好事,一般的设计中总要尽量避免强行转型的。
通过XML配置业务类
避免不必要的Singleton
DAO的封装
异常的处理
AOP
一些额外功能的支持
整个Spring可以这样说,通过配置文件对业务进行配置。 当然有些口号确实帮助程序减轻了开发工作,也使得Web开发更加容易,但是并不是所有的口号都描述了事实。我的看法列在下面,供大家参考: 配置文件有一定的灵活性,但是万事有利有弊,配置文件在带来灵活性的同时,也带来了很多弊端:一般来说,配置文件是无法利用编译器的静态检查功能,只能通过大量单元测试来解决问题,也就是说它将许多可以静态编译器可以发现的错误,推迟到了单元测试甚至运行时才能发现。这样需要编写大量的单元测试,甚至部分是不需要的,无谓的增加开发量。即使进行一些简单修改,也需要完整的运行测试用例,增加了测试量。
有时候说XML配置可以随时修改,不需要重新启动服务,其实不见得,如果新增加了或者修改了类,不管有没有修改配置文件都需要重新启动服务(大部分的WEB Server可以支持热布署),从这方面来看,修改配置文件和修改代码没有质的区别。
利用IDE,如Eclipse很容易查看代码,包括继承,调用等,对代码也很容易管理,对于XML配置文件,随着模块的增加,不仅难以维护,而且难以查找。
如何重构,一般的IDE主要是支持代码级的重构,对XML重构的支持都不完善,XML的验证机制也很难保证XML文件的正确性。
XML配置文件带来弱类型的使用,也就是说如果你要使用一个对象,必须进行强行转换,这样使用,对Java这种强类型的编译语言,其实不一定是一件好事,一般的设计中总要尽量避免强行转型的。
相关文章推荐
- 对Spring的一些看法
- spring的事务管理的一些看法
- 开发框架之我Spring纯在的一些负面因素
- 雷观(二十四):谈谈我对国家事务“二胎”和“教育”的一些看法
- maven-spring-mybatis 遇到一些问题
- 跟同学聊天电商的一些看法
- 我对STL的一些看法(三)认识list容器
- spring的一些总结3
- 主题:关于单元测试的一些看法
- 【浅谈】我对中小型企业网络管理的一些看法(一)
- IP地址0.0.0.0究竟表示什么的一些看法
- 谈谈我对攻读计算机研究生的一些看法
- 由Spring引出的一些瞎想(2)
- 关于项目不同角度的一些看法
- 对google的android的平台的一些看法。
- springboot websocket使用过程中的一些总结
- 我对《周洪宇论第三次工业革命》一些看法
- Spring和Mybatis集成,如何批量insert update?以及一些通用Dao的设想
- cocos2dx内存管理的一些看法