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

WBOY
リリース: 2024-02-06 09:00:05
転載
536 人が閲覧しました

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

質問の内容

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

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

リーリー

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

リーリー

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

私が見た質問:

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

リーリー リーリー

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

リーリー リーリー

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

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

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

リーリー

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

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


正解


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

リーリー

そうすると、

が得られます リーリー

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

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!