/note/tech

GraphQLはクライアント側の関心事の定義に振り切って使っている

GraphQLはクライアント側の関心事の定義に振り切って使っている。

サーバー側のモデルの設計はドメインロジックの整理に振り切る。

基本はドメインオブジェクトとGraphQLのスキーマ定義を直接マッピング。

両者の間に妥協しがたい不整合が見つかったら、中間にビューとモデルの変換層を追加する。

@masuda220

DTOを必ず使うという設計方針もあるかもしれないが、基本はnaked objectパターン、つまり、ドメインオブジェクトを直接ビューにマッピングする。

ビュー用にDTOを定義し、ドメインオブジェクトとの変換器を追加するのは、必要最小限にする。使い分けの表明はコメントじゃなくアノテーションかなあ。

@masuda220

なるほど