私の同僚の何人かは、横断的関心事の例として検証を考えており、アスペクト指向プログラミングが検証の懸念を処理するための良い方法であると考えています。PostSharp表記を使用するには、次のようなものが良い考えだと彼らは考えています。
[InRange(20.0, 80.0)]
public double Weight
{
get { return this.weight; }
set { this.weight = value; }
}
私の意見では、検証はアルゴリズムの本質的な部分であり、AOPを使用して舞台裏でそれをプッシュする必要はありません。しかし、それは腸の感覚によく似ており、私にはそれを正当化する明確な理由がありません。
いつAOPで検証を処理するのが良いと思いますか、そしていつメインコードとインラインで処理するのが良いと思いますか?