關注點
外觀
計算機科學中的關注點(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.