Loading AI tools
来自维基百科,自由的百科全书
计算机科学中的关注点(concern)是会影响电脑程式程式码的特定资讯。依照开发者 讨论层次的不同,以及探讨程式码层次的不同,关注点可以广泛到像是和数据库互动的细节,也可以具体到某一个计算的进行方式。IBM使用了concern space一词来说明这些概念性资讯的分区[1]。
一般而言,程式码会分为不同的逻辑区块,每一个区块处理不同的关注点,因此其他区块不一定需要知道此区块和其无关的特定资讯。这形成了模块化编程。艾兹赫尔·戴克斯特拉创建了关注点分离(separation of concerns)一词[2]来说明这类模组化后面的想法,让程式设计者减少其设计系统的复杂度。若在同一块程式有两种关注点互相影响,即为这两种关注点的高度耦合。有时选定的模组分割方式无法让某种关注点和其他关注点完全分开,因此会出现横切关注点[3]。有许多编程范型有针对横切关注点进行处理,处理的程度也各有不同。像日志文件就是常见的横切关注点,除了实际去储存日志资料的模组外,还有许多模组会用到此一功能。因此调整日志文件的程式码有可能会影响其他模组,也可能会引入其他模组运行时的程序错误。
以下是一些特别处理关注点分离的编程范型:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.