ホームページ  >  記事  >  バックエンド開発  >  Go で DTO をマッピングするときに重複コードの量を減らす

Go で DTO をマッピングするときに重複コードの量を減らす

WBOY
WBOY転載
2024-02-06 09:00:05564ブラウズ

在 Go 中映射 DTO 时减少重复代码的数量

質問の内容

私は現在 Go を学習中ですが、重複コードの量を減らすための最善の方法について人々の洞察をお待ちしています。

該当部分のフォルダ構成は以下のとおりです。

リーリー

私の specations フォルダーには 2 つの「ストレージ」インターフェイスがあります:

リーリー

store/postgres フォルダーには、タスクとタグの実装が含まれています (リポジトリ モード)。

私が見た質問:

私の handlers フォルダーには、ストレージ インターフェイスの 1 つからの入力を受け入れる構造体があります:

リーリー リーリー

これらのハンドラーには、API パスにマップされるメソッドが含まれています:

リーリー リーリー

各ハンドラーの List メソッドは、各ストアで使用されるインターフェイスを除き、基本的に同じであることがわかります。

重複コードを減らすためにこの設定を変更するにはどうすればよいですか?

私は最初、ジェネリックを使用してこの問題を解決できると考えました。例:

リーリー

しかし、これは各型をハンドラーにマッピングすることを意味しますが、これは現実的な解決策ではないと思います。

DTO とインターフェイスをより適切にマッピングする方法について何か提案はありますか?


正解


ヘルパー関数を使用できます

リーリー

そうすると、

が得られます リーリー

以上がGo で DTO をマッピングするときに重複コードの量を減らすの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。