シンプルなDAO

必要に迫られて実装開始。

アノテーション(.NETで言うところのカスタム属性とメタデータ)のお陰でDAOの実装はかなり楽になった。外部から取り込みが必要だったパラメタやカスタマイズに必要だったコードの大部分を省くことができるようになったからだ。

前回書いた要件に更に追加する

AOPは使わない(生成をDIコンテナに頼らない)
・できるだけシンプルに、小さく実装
・テーブルのデータとPONOの変換にはDxOで使ったプロパティコンバータを再利用(日付型は無いので追加要)

問題は他のエンティティとの関連を内部に含むことを許可するか否か。
これを許可するのであればActiveRecordの"BelongTo"やS2Daoの"Relkeys"を実装しなくてはならず、一気に実装量が増大する。許可しないということであれば実装は非常にシンプルになるのだが、項目の編集の全てをSQL側で行い、対応するオブジェクトの構造をフラットにする必要がある。

悩むところだ。