在进行软件组件开发时,需要明确组件中服务请求者与提供者之间相互满足的契约关系。通过在组件中支持契约式设计(Design by Contract,DBC),不仅可以阐明组件设计的细节、为客户记录正确的组件用法,还可以通过编程的方式来测试组件使用...在进行软件组件开发时,需要明确组件中服务请求者与提供者之间相互满足的契约关系。通过在组件中支持契约式设计(Design by Contract,DBC),不仅可以阐明组件设计的细节、为客户记录正确的组件用法,还可以通过编程的方式来测试组件使用的正确性。基于面向方面编程(Aspect-Oriented Programming,AOP)技术实现契约式设计,可以通过将横切关注点(crosscutting concern)分离的方式,令编程人员独立的编写组件的契约和业务逻辑。本文主要基于AOP技术的两个开源实现:Contract4J和AspectJ,构建了一个Eclipse插件工具来支持组件开发中的契约式设计,并且通过一个实例分析采用契约式设计之后对于组件健壮性的改进。展开更多
文摘在进行软件组件开发时,需要明确组件中服务请求者与提供者之间相互满足的契约关系。通过在组件中支持契约式设计(Design by Contract,DBC),不仅可以阐明组件设计的细节、为客户记录正确的组件用法,还可以通过编程的方式来测试组件使用的正确性。基于面向方面编程(Aspect-Oriented Programming,AOP)技术实现契约式设计,可以通过将横切关注点(crosscutting concern)分离的方式,令编程人员独立的编写组件的契约和业务逻辑。本文主要基于AOP技术的两个开源实现:Contract4J和AspectJ,构建了一个Eclipse插件工具来支持组件开发中的契约式设计,并且通过一个实例分析采用契约式设计之后对于组件健壮性的改进。