關注點
计算机科学中的關注點(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.