设计模式 关注点分离

好的架构设计必须把变化点错落有致地封装到软件系统的不同部分。要做到这一点,必须进行关注点分离Iuar Jacobson在《AOSD中文版》中写道:

好的架构必须使每个关注点相互分离,也就是说系统中的一个部分发生了变化,不会影响其他部分。即使需要改变,也能够清晰地识别出那些部分需要改变。如果需要扩展架构,影响将会最小化,已经可以工作的每个部分都将继续工作。

上述论述中的三句话:

系统中的一个部分发生了变化,不会影响其他部分。”

即使需要改变,也能够清晰地识别出那些部分需要改变。”

如果需要扩展架构,将影响最小化,已经可以工作的每个部分都将继续工作。”

可以说是对软件开发者的奋斗目标的最精辟的论述。也是软件设计要达到的最高目标。

关注点分离是实现上述目标的基本方法。关注点分离的基本方法有:

按职责分离关注点

将一个功能的实现分成展现层、业务层和数据层就是典型的按职责进行关注点分离的例子。

按通用性分离关注点

不同的通用程度意味着变化的可能性不同。可以将组成系统的元素分成技术通用部分、领域通用部分和特定应用部分。技术通用部分具有广泛的通用性,领域通用部分在对应领域具有普遍通用性。特定应用部分一般没有通用性。

按粒度级别分离关注点

在软件架构设计中,可以优先考虑大粒度的子系统和在集成系统中的互操作,忽略子系统的进一步分离。

原文地址:https://www.cnblogs.com/zsw-1993/p/4879466.html