2017-11-18 4 views
0

.NET WFCデュプレックスエンドポイントをgRPCに置き換えることを検討しています。ほとんどのフレームワークと同様に、WCFはデータを単なる契約オブジェクトにすることを可能にします。したがって、ワイヤで使用するのは処理コードで使用できるものです(その連結でOKならば)。しかし、gRPCとGPBでは、私はそれを行うことができないように見えます。私には2つの選択肢があります。 1つは、コミュニケーションの両端で既存の.NETオブジェクトを翻訳することであり、余分な労力や複雑さが増えます。もう1つは、ビジネスコードを転送テクノロジに結合するビジネスコードにプロトコルバッファメッセージをそのまま使用することです。Googleプロトコルバッファをプレーンオブジェクトに変換する方法

私の質問は.. gRPCを使用し、翻訳やビジネスコードでのバッファの直接使用を避ける最良の解決策は何ですか?

答えて

0

どちらも有効なオプションです。コピーまたは直接使用できます。

より大きい/より深いシステムでは、より多くのフィールドを持つことができ、クライアントを壊さずにシステムに変形することができる「内部」オブジェクトに変換するとよいでしょう。これらの「内部」オブジェクトは、メッセージの原本になることさえあります。この場合、複製は機能です。

小さい/浅いシステムでは、コピーせずにプロトコルバッファを直接使用するのは簡単です。ある日あなたはのプロトタイプの他のバージョンに変換したり、POJOなどを作成する必要があることを認識する必要があります。しかし、その日は決して来ないかもしれません。

質問には実際には「ビジネスコードでプロトコルバッファを使用するのは大丈夫ですか?」という質問はほとんどありません。しかし実際には、「システムの内部構造をAPIとは別に開発できるようにすることは価値があるのですか?

関連する問題