软件工程*体系架构
Mietnerium
这个作者很懒,什么都没留下…
展开
-
初学JMock
因为尝试使用TDD开发,要写TestCase,当然不可能不用mock object 。为了学写mock object,在摆渡和狗狗上找写资料,搜到了两个mock library项目,一个是EasyMock,一个是JMock。没时间细看,又找了篇对比文章《MockObjects的选择:EasyMock与JMock的比较》http://www.landiy.net/ttzy/study/jsp/jsp原创 2006-03-15 20:03:00 · 1043 阅读 · 0 评论 -
尝试使用测试驱动(TDD)开发
现在在一个小企业里搞开发。现在的主要工作是架构设计(当然还称不上架构师啦^_^)。以前公司有个架构,原来的架构,一牛人做的,虽然不是很“先进”(相对与现在架构流行使用依赖注射,对象关系映射等技术而言),但总体上还算规范,结构还是很清晰,也提供了很多通用功能,可以减少很多重复劳动。公司开发的人不多,3,4个人,可在前段的开发过程中,由于管理不善,个人开发习惯不同,导致架构的结构遭到很多破坏。使得产品原创 2006-03-15 10:57:00 · 1446 阅读 · 0 评论 -
初用TDD的问题
刚刚试着用TDD 搞开发,感觉还不错。代码有了测试用例心里塌实多了。不过在使用上还存在很多问题。第一个问题是应该完全先写测试用例,然后再写代码,还是可以先建好类和空方法后,再写测试用例,现在用的是后一种方法。前一种方法使用不习惯,一上来就显示一堆错误,很不舒服。不知道现在的方法有没有什么问题,好象有TDD的要求不完全符合。第二个问题是,自己在开发时,不自觉的先写好代码,再写测试用例,思维上有点根据原创 2006-03-15 21:55:00 · 1110 阅读 · 0 评论 -
关于贫血模型的问题
新的架构完成了大部分了。显示层,控制层,持久层,acegi都装配好了,用InMem的数据源存放用户信息,也可以实现登陆了。现在主要的问题集中在业务逻辑层了。以前用的都是贫血模型,不自觉的使用的:)最近看了些文章和讨论,反正说来说去,也搞不清到底是贫血模型好是非贫血模型好。搞得现在犹豫不决。在我看来贫血模型主要的优点是domain object轻便,消耗内存资源少,程序员容易理解,容易开发实现。但是原创 2006-03-21 13:17:00 · 1422 阅读 · 0 评论 -
实例级权限控制问题
Acegi的权限控制,掌握点皮毛了,但是实例级权限控制还是不会配置。看了些资料,acegi用ACL来控制实例级的访问权限,但仍然无法避免在DAO层次上的侵入性。而且自己觉得,对于数据量比较大的数据库,维护ACL也不是件轻松的事。权限控制信息可以放在数据库中,但是这些控制信息肯定是基于一定规则产生的,这个规则应该写在哪?没有contact类的源代码,没办法分析。现在有个想法,不知道能不能通过使用原创 2006-03-17 10:17:00 · 1539 阅读 · 0 评论 -
决定不使用AcegiSecruity的ACL做实例级权限控制
网上看了一下,大部分都对AcegiSecruity的ACL评价不高。配置复杂,有侵入性,数据量大的时候影响效率。Alarmnummer提出了Condition Role的方法来实现实例级的控制,这是他的文章http://peter.jteam.nl/?p=2。他的想法的确可以做到实例级上的控制,但是如果控制规则很复杂,控制表达式就必然变得很复杂。我还是觉得,如果把控制规则抽取出来的话,使用规则引擎原创 2006-03-17 20:10:00 · 1122 阅读 · 0 评论 -
为了实现TDD开发,又得学习Cactus
显示层和控制层的测试是个大问题,在网上找了找,找到了Cactus,感觉用起来比较复杂。但Cactus必须在容器内测试,这个比较麻烦。我想对action的测试还是用模拟测试吧,就用MockStrutsTestCase,这个使用比较轻便。对于jsp可能不得不采用Cactus了。有个疑问,jsp需要测试吗?觉得意义不是很大啊,像布局什么的怎么测试啊?原创 2006-03-21 18:32:00 · 1012 阅读 · 0 评论 -
To be a programmer with good habit rather than to be a good programmer!
这几天把The Elements of Java Style看了一下,也想了想自己过去编程的得失。觉得自己以往的编程太缺乏规范性了。很多困难的问题我可以想出办法解决,但是我写的代码却不是很规范。编程早已经不是一门艺术了,它是工程。所以必须讲究规范。现在开始,要强迫自己养成编码的好习惯。严格遵守编码规范能够减少自己犯错误的机会,也能使得代码的可维护性得到很大提高。原创 2006-03-28 15:02:00 · 1085 阅读 · 0 评论