面向方面的软件设计

第一部分

chapter 1: 要解决的问题

横切关注点:需要分配到系统中多个组件,互相配合实现的单个需求。

横切关注点可以分为两类: - 对等关注点:各个关注点相互独立,同等重要。例如:酒店管理系统中的预定房间,登记入住和结账离开都是对等关注点。 - 缠绕状态(tangling)。各个组件包含满足不同关注点的实现,这些实现相互交错在一起,使组件变得复杂,不易理解。 - 分散(scattering)。某个特定的关注点的实现分散在不同组件中。导致系统的内部组织不易于理解。 - 扩展(extension):是在基础组件之上定义的组件,它用来表示附加的服务或功能。 - 当扩展被实现时,必须对原有系统的代码进行修改,添加粘合代码。

解决方案 - 关注点分离技术 - 关注点合成机制

chapter 2: 使用面向方面的技术解决问题

Blog

Opinion

Project