计算机科学中的關注點(concern)是會影響電腦程式程式碼的特定資訊。依照開發者
討論層次的不同,以及探討程式碼層次的不同,關注點可以廣泛到像是和数据库互動的細節,也可以具體到某一個計算的進行方式。IBM使用了concern space一詞來說明這些概念性資訊的分區。
簡介
一般而言,程式碼會分為不同的邏輯區塊,每一個區塊處理不同的關注點,因此其他區塊不一定需要知道此區塊和其無關的特定資訊。這形成了模块化编程。艾兹赫尔·戴克斯特拉創建了关注点分离(separation of concerns)一詞來說明這類模組化後面的想法,讓程式設計者減少其設計系統的複雜度。若在同一塊程式有兩種關注點互相影響,即為這兩種關注點的高度耦合。有時選定的模組分割方式無法讓某種關注點和其他關注點完全分開,因此會出現横切关注点。有許多编程范型有針對横切关注点進行處理,處理的程度也各有不同。像日志文件就是常見的横切关注点,除了實際去儲存日誌資料的模組外,還有許多模組會用到此一功能。因此調整日志文件的程式碼有可能會影響其他模組,也可能會引入其他模組運行時的程序错误。
以下是一些特別處理关注点分离的编程范型:
- 面向对象程序设计,將关注点視為物件。
- 函数式编程,將关注点視為函數。
- 面向切面的程序设计
相關條目
- 横切关注点
*关注点分离
參考資料
外部連結
- [https://web.archive.org/web/20190417012709/https://signalvnoise.com/posts/3372-put-chubby-models-on-a-diet-with-concerns Concerns in Rails, by DHH, the Rails creator]
评论 (0)