私は (Windows) システム管理者のバックグラウンドを持つ C# コーダーです。さまざまなインフラストラクチャ コンポーネント (Windows 管理、ハードウェア管理など) 用の統合 REST-API を作成するために、さまざまなサービス フレームワークを検討してきました。このためのフレームワークとして ServiceStack を使用することにしましたが、DTO の管理方法について質問があります。ほとんどの場合、ソース データは、次のようなデータベース以外のオブジェクトから取得されます。
- その他の Web サービス (通常は SOAP ベース)。私は通常、「Web 参照の追加」を介してこれらを取り込みます (すべてではありませんが、ほとんどが asmx です)。
- .NET オブジェクト (通常は WMI/WinRM/PowerShell [System.Management]、または Active Directory [System.DirectoryServices])...
- いくつかの不幸なケースでは、(ssh または cmd を介して) コマンドを呼び出した結果、生のテキスト出力が得られます。
これらのすべてのケースで、何らかの Save() メソッドを呼び出してプロパティを更新する必要があります。さらに、REST サービスに公開したい CRUD 以外のメソッドがいくつかあるかもしれません。通常、ソース データのすべてを必要とするわけではありません (たとえば、Web サービス データの場合、特定のプロキシ クラスの特定のプロパティとメソッドをボックス化することにのみ関心があります)。私の理解では、私の DTO はクリーンで、依存関係がないようにする必要があります。使用できる ORM があるとは思えないので、データを DTO にマップするにはどの設計パターンを使用すればよいですか?
ここで用語を誤用していたら申し訳ありません...