关注点
计算机科学中的关注点(concern)是会影响计算机程序程式码的特定资讯。依照开发者 讨论层次的不同,以及探讨程式码层次的不同,关注点可以广泛到像是和数据库互动的细节,也可以具体到某一个计算的进行方式。IBM使用了concern space一词来说明这些概念性资讯的分区[1]。
简介
一般而言,程式码会分为不同的逻辑区块,每一个区块处理不同的关注点,因此其他区块不一定需要知道此区块和其无关的特定资讯。这形成了模块化编程。艾兹赫尔·戴克斯特拉创建了关注点分离(separation of concerns)一词[2]来说明这类模组化后面的想法,让程式设计者减少其设计系统的复杂度。若在同一块程式有两种关注点互相影响,即为这两种关注点的高度耦合。有时选定的模组分割方式无法让某种关注点和其他关注点完全分开,因此会出现横切关注点[3]。有许多编程范型有针对横切关注点进行处理,处理的程度也各有不同。像日志文件就是常见的横切关注点,除了实际去储存日志资料的模组外,还有许多模组会用到此一功能。因此调整日志文件的程式码有可能会影响其他模组,也可能会引入其他模组运行时的程序错误。
以下是一些特别处理关注点分离的编程范型:
相关条目
参考资料
- ^ Concern Spaces at IBM 互联网档案馆的存档,存档日期2008-01-22.
- ^ Dijkstra, Edsger W., On the role of scientific thought, Dijkstra, Edsger W. (编), Selected writings on Computing: A Personal Perspective, New York, NY, USA: Springer-Verlag New York, Inc.: 60–66, 1982, ISBN 0-387-90652-5
- ^ Mendhekar, Anurag, Gregor Kiczales, and John Lamping. "RG: A Case-Study For Aspect-Oriented Programming" 互联网档案馆的存档,存档日期2007-09-08. Xerox Palo Alto Research Center. Feb 1997.