之前讨论了一下系统的组成方式和所需要的组件.
从模块系列开始将讲述如何划分细粒度模块和规范制定
首先,需要了解的是什么是粗/细粒度?
(事实上对于这个名词,大多都有争议. 所以本文提到的粗细粒度是作者所持态度和理解程度,请各位读者切勿"抛砖引玉",如有不同意见可于作者单独探讨.)
粗粒度:表示类别级,即仅考虑对象的类别,不考虑对象的某个特定实例。比如,用户管理中,创建、删除,对所有的用户都一视同仁,并不区分操作的具体对象实例.
细粒度:表示实例级,即需要考虑具体对象的实例,当然,细粒度是在考虑粗粒度的对象类别之后才再考虑特定实例。比如,合同管理中,列表、删除,需要区分该合同实例是否为当前用户所创建。一般权限的设计是解决了粗粒度的问题,因为这部分具有通用性,而细粒度可以看成业务部分,因为其具有不确定性.
扩展之,粗粒度代表一种概括和通用,而细粒度代表一种具体.
从逻辑上划分,细粒度可以包含具体的每种特定逻辑的处理方式和处理机制,而粗粒度则对逻辑进行一种概括性的抽象.
本项目中,各种模块及接口或类在进行设计的时候,都遵循单一性原则,迪米特法则等.
下面简述下可能需要用到的一些模块.
1. 通用CRUD适配器
2. 语法揭示器
3. 通用过滤器
4. 数据库操作集
5. 日志操作集
6. 通用型桥接器
7. 动态代理
8. 动态加载器
9. 可插入式安全验证
10. 通用文件操作库
11. XML绑定转换适配器
12. 通用型广播适配器
13. 高层监听器
14. 命令行提示符
今后,将对以上所提到的一些模块进行详细地讲解与编码。
敬请关注。