度:granuality同样一个系统,同样的需求。两个设计师给出两种设计。两个设计总的代码行数差不多,但是类的数目不同。第一个设计有10个类,第二个设计有50个类。这样平均起来每个类所含有的代码行数就有很大的区别,第一种设计中的代码行数平均比第二种设计多大约5倍。第一种设计是粗粒度的,第二种设计是细粒度的。第一种设计中对象的粒度平均是第二种设计中对象粒度的5倍。原本项母组中的ejb程序员要求我每一个查询列表对应一个dao,相应的,粒度就比较细
但我注意到许多列表本身的数据访问接口是一致的,区别只在于SQL语句的不同
于是就采用一个数据访问接口对应一个静态工厂的方式封装这些dao,于是,粒度就比较粗
对于要使用我的dao的ejb程序员而言,
粒度越细,出现匹配错误的可能性就越小,
因为,一旦匹配错误,在编译期,就会报类型错误
而我宁愿粒度粗一些,因为这在实现重用时有更大的自由度