C#、ASP.NET、MVC、WCF を使用する場合、非公開のビジネス ロジック サービス レイヤーがあり、セキュリティやその他の理由から、同じ操作を公開しているゲートウェイまたはファサード レイヤーがあると想定します。
したがって、パブリック/公開サービス層は呼び出し元ユーザーを表す GUID を処理する必要があり、プライベート/内部サービス層はより高度な認証を処理する必要があることを除いて、本質的に同一のデータ転送 (要求/応答) オブジェクトを持つ 2 つの層があります。チケット。この認証チケットは、公開層に公開しないでください。
PublicDto {
Guid userGuid;
string property1;
...
string propertyN;
}
PrivateDto {
AuthenticationTicket authTicket;
string property1;
...
string propertyN;
}
プライベート AuthenticationTicket をパブリック層から保護するが、プライベート DTO とパブリック DTO の間の差別化プロパティの切り取りと貼り付けを最小限に抑えるような方法で、基本クラスを派生させるか、ここでインターフェイスを利用する効率的な方法はありますか?