アスペクト指向(Aspect-Oriented)
1月 1, 2003 · Posted in アスペクト指向(Aspect-Oriented) · Comment
アスペクト(Aspect)
アスペクトとは側面・外観などの意味を持ちます。
アスペクト指向
アスペクト指向とは、オブジェクト指向では解決することができていない横断的関心事の分離を実現するための手法である。
関心事の分離(SOC:Separation Of Concerns)
関心事の分離とは、ダイクストラ(参考:ちえの和WEBページ:コンピュータ偉人伝:エズガー・ダイクストラ)が研究・発表した言葉であり、システム開発における関心事の分離の重要性を説いたものである。
オブジェクト指向の概念により、高いレベルでの関心事の分離を実現することが可能となったが、完全に分離できていない部分が存在する。横断的関心事である。
横断的関心事(Cross-Cutting Concerns)
ロギングやアクセスコントロールなどを複数のプログラムで共通的に利用する場合、コードがシステム内に散在することになる。これが横断的関心事である。
現在主流のプログラム言語が「ロギング」や「アクセスコントロール」などの関心事を、本来のロジックから分離するメカニズムを備えていないため発生する。
実装
アスペクト指向が実装されている例。

