关注点分离
出自 MBA智库百科(https://wiki.mbalib.com/)
关注点分离(Separation of Concerns,SoF)
关注点分离是日常生活和生产中广泛使用的解决复杂问题的一种系统思维方法。大体思路是,先将复杂问题做合理的分解,再分别仔细研究问题的不同侧面(关注点),最后综合各方面的结果,合成整体的解决方案。
在概念上分割整体以使实体个体化的观点可以追溯到柏拉图。柏拉图把探究自然比作在关节处切割自然,窍门在于要找到关节,不要像生疏的屠夫那样把关节切得粉碎。庄子在《庖丁解牛》寓言中也阐释了类似的真知灼见。
作为最重要的计算思维原则之一,关注点分离是计算科学和软件工程在长期实践中确立的一项方法论原则。此原则在业界更多的时候以“分而治之”(Divide-and-Conquer)的面目出现,即将整体看成为部分的组合体并对各部分分别加以处理[。模块化(Modularity)是其中最有代表性的具体设计原则之一。
关注点分离原则不仅体现在问题求解、算法设计、软件设计等设计方法中,同时也体现在软件开发过程、软件项目管理以及软件开发方法学等诸多方。在某种意义上,正是对软件开发不同关注点的分离视角和关注重点的差别,导致了软件开发技术和开发方法的演变和发展。