DTO

DTOについてもめたのでメモ。

今のプロジェクトでは、DTOをすべてのレイヤ間で使おうとしてる。ドメインロジック層とデータインテグレーション層の間でも。そうすると、DTOドメインオブジェクト変換地獄に陥るか、せっかくのドメインオブジェクトがただのトランザクションスクリプトに成り下がってしまうか、どちらかではないだろうか。

データインテグレーション層から帰ってくるオブジェクトはドメインオブジェクトだ、というのは常識だと思っていたんだけど。

さらに問題なのは、今回使う国産フレームワークは、すべてのデータをData Transfer HashMapとも言うべきオブジェクトに入れている、ということ。ここでさらにDTOなんか使おうものなら、変換地獄はさらに倍ってやつである。

とりあえず、フレームワークが提供しているData Transfer HashMapをそのままつかってDTOを使わない戦略に持っていってあげて、そいつからドメインオブジェクトへの変換をおこなう、と。ここをリフレクションとかで実現できれば、何とか方向性としては修正できると思うんだけどなあ。