wildcatsの日記

赤羽在住でIT関係の会社の社長やってます。

限定的な型

以前の実践J2EEシステムデザイン読書会で
型をきっちり定義すべきだという話をした記憶があり
その後にいろいろと考えていたのですが
DTOのメンバや引数の型を限定的にするのは少し問題があるように思いました。
理由としてDTOのsetterを呼び出すのは基本的にはフレームワークの仕事だと思うので
限定的な型にしてしまうことによってその限定的な型のインスタンス
生成する手段をフレームワーク側が知っている必要性があるからです。
ということを考えるとDTOのメンバやsetterには組み込み型を用いて
妥当性チェックをDynamic ProxyやAOPで実装するのが
現実的なのかもしれません。
逆に考えると業務ロジックから呼ばれる共通ライブラリなどの引数や戻り値は
限定的な型にしておいたほうが良いと思います。