目前采用是面向对象设计方法,设计的粒度分为两级:类和方法(属性),类似于数据库设计的表和字段;
在现有实现体系下,一个方法内部将包容多个Use Case;同时因为Use Case本身的横向扩展,也会导致一个Use Case将关联到多个方法;这是一个多对多的关系,为我们的开发管理带来巨大的成本。
为了有效管理Use Case及其实现映射,AOP技术成为一个好的选择;AOP允许我们为每个Use Case建立起独立的可管理的设计粒度:从方法中的一个代码段升级为一个独立方法和类;并允许这些Use Case被合理的有序的组织。
现有的技术体系已经为我们建立了可行方案,如何组织Use Case间的逻辑操作:与,或和非操作就成为实施的关键。
现有实践中,由于非业务Use Case在逻辑上的操作比较明确:与操作,执行顺序上也非常明确(更换顺序几乎不影响业务正确性),AOP已有广泛的应用;而对于业务操作由于逻辑上操作不十分明确,对于执行顺序上也存在不确定性,目前缺乏合适的实践管理;
查看本文来源