Loading article…
コンピュータサイエンスにおいて、関心とは、コンピュータプログラムのコードに影響を及ぼす特定の情報セットのことである。関心は、開発者と議論されているプログラムとの会話のレベルに応じて、データベースのやり取りの詳細のように一般的なものから、基本的な計算の実行のように具体的なものまでさまざまである。IBMは、概念情報の区分を表すために関心空間という用語を使用している。 [1]
概要
通常、コードは論理セクションに分割でき、各セクションは別々の関心事に対応しているため、特定のセクションが別のセクションで対応している特定の情報を知る必要はありません。これがモジュールプログラムにつながります。Edsger W. Dijkstra は、このモジュール化の背後にある考え方を説明するために「関心事の分離」[2]という用語を作り出しました。これにより、プログラマは設計中のシステムの複雑さを軽減できます。同じコード セクションに混在する 2 つの異なる関心事は、「高度に結合」と呼ばれます。選択したモジュール分割によって、1 つの関心事を別の関心事から完全に分離できない場合があり、横断的関心事が発生します。[3]さまざまなプログラミング パラダイムが、さまざまな程度で横断的関心事の問題に対処します。データ ロギングは一般的な横断的関心事であり、実際にデータをログに記録する特定のモジュール以外のプログラムの他の多くの部分で使用されます。ロギング コードを変更すると他のセクションに影響する可能性があるため、[どのように? ]プログラムの動作に バグが発生する可能性があります。
関心の分離の問題に特に対処したパラダイム:
- オブジェクト指向プログラミング、関心事をオブジェクトとして記述する
- 関数型プログラミング、関心事を関数として記述する
- アスペクト指向ソフトウェア開発では、関心事とその相互作用を独自の立場の構成要素として扱う。
参照
- 横断的な懸念
- 関心の分離
- 問題(コンピュータ)、データシステムの改善を達成するための作業単位
参考文献
- ^ IBM の懸念スペース 2008-01-22 にWayback Machineでアーカイブ
- ^ ダイクストラ、エドガー W. (1982)、「科学的思考の役割について」、ダイクストラ、エドガー W. (編)、Selected writings on Computing: A Personal Perspective、ニューヨーク、ニューヨーク、米国: Springer-Verlag New York、Inc.、pp. 60–66、ISBN 0-387-90652-5
- ^ Mendhekar、Anurag、Gregor Kiczales、John Lamping。「RG: アスペクト指向プログラミングのケーススタディ」Wayback Machineに 2007-09-08 にアーカイブXerox Palo Alto Research Center。1997 年 2 月。
外部リンク
- Rails の作者 DHH による Rails に関する懸念
