設定より規約アプローチは、過度の構成を避けるために.NETデザイナによっていくつかの場所で使われている。デフォルトの規約はすぐに立ち上げて実行するためには役に立つが、ときどきデフォルトの振る舞いを変更した方が便利なことがある。いくつかの例を見ていこう。
明示的に構成を設定することによって、通常の方法で偶発的なケースのための規約を回避する方法があるが、規約自体を変更するにはどうしたらよいだろうか?いくつかの可能性を紹介しよう。 -
- Dino Esposito氏は、ASP.NET MVCコントローラ名の動作に関する規約を紹介し、どのように変更可能かを示した。
- カスタムViewエンジンを使った場合、ASP.NET MVC のViewロケーションに関する規約は変更可能だ。
- Entity Framework CodeFirstではいくつかの規約が使われている。たとえば、プロパティはIDカラムと、クラスはテーブルと自動的にマッピングされている。これらは、変更することが可能だ。
私たちはすでにあなたが望む規約を使用するASP.NET MVCの拡張ポイントのいくつかをカバーしている。
このアプローチは、いくつかのサードパーティーライブラリを使用することができる。たとえば -
- NHibernate自動マッピング規約を変更することができるFluentNHibernate規約
- 自動登録を可能にするCastle-WindsorといったIoCコンテナ。いつでも自動登録に使われている規約の変更や追加が可能。
デフォルトの規約に固執している箇所を特定することは、判断の問題になる。適切な場所にカスタム規約を使用することは、コードのメンテナンス性を高めることになる。