実践的オブジェクト指向設計入門15
物事にエラーと例外はつきものです。プログラミングにおいて、エラーと例外処理は非常に重要な要素であり、品質をも決定するので、システムからみても重要だと言えます。従って、予めどのオブジェクトが責任を持つのかについて、深く考える必要があります。設計時にオブジェクトの責任について考えておかないと、エラー処理と例外処理が混雑した非常に見通しが悪いプログラムになります。それがいかに品質を下げ、開発生産性を下げるのか、システム開発の経験者ならばよく知っているでしょう。
現実を反映した操作(アルゴリズム)である場合、その責任の所在は簡単に決定できます。しかし、システムは現実に存在しないオブジェクトを必要とします。現実に存在しないオブジェクトについてはどうするべきなのでしょうか?それについては、明確な答えはありません。ですが原則として、エラー処理専用のオブジェクトを作ると上手くいくと経験的に分かっています。ようするに、横断的に存在するエラー処理プログラムを如何に管理するのかという問題に尽きると言えるでしょう。
そういった事実から、オブジェクト指向方法論OMTにはありませんが、属性(アスペクト)を使用する事も検討する事をお勧めします。ただし、アスペクト指向は視点により横断するプログラムが変わるという弱点があります。従って無闇にアスペクト指向を振りかざすと、視点が定まらない醜い設計になる恐れがあります。アスペクト指向を適用する場合、視点を統一して明記しましょう。そうすれば、混乱する事もないでしょう。