私は WCF の学習を始めたばかりで、まったく Web 以外のバックグラウンドを持っています。
ローカルで実行される 1 つの exe にコンパイルされる 3 層のデスクトップ アプリケーションを構築しました。
ここで、ビジネス ロジック レイヤー全体を中央サーバーに移動し、GUI をクライアント アプリケーションにしたいと考えています。
私が理解している限り、WCF は私のソリューションである必要があります。実際、WCF は私が望んでいたことを達成するのに役立ちました。
私は必要なものの基本であるリモート機能を実行することができます。
私の問題は、私がアーキテクチャをよく理解していないことです。
たとえば、私のサービスの 1 つは、ビジネス ロジック層からデータ型 (クラス) を返します。
このクラスは、WCF メカニズムを介してクライアントが自動的に使用できるようになります。
しかし、問題は、このクラスにはいくつかのメソッドが含まれていることです。これらのメソッドをクライアントに公開したくないことは間違いありません。
たとえば、Save メソッド (データベースに保存)。
さらに、このクラスは私のサービスの 1 つに送信される可能性があるため、クライアントがクラスのすべてのプロパティを変更することを許可したくない場合もあります。
サービス内のクラス インスタンスを再検証したくありません。
私は何をすべきか?クライアントに公開するビジネス ロジックの制限されたバージョンの別のレイヤーを構築する必要がありますか? または、サーバー自体を制限せずに、クラスの一部のみをクライアントに公開する方法はありますか?
これが基本的な質問であることは知っていますが、正直なところ、ここで質問する前にたくさん検索しました。私の問題は、何を検索すればよいかよくわからないことです。
2 番目の質問は、このアーキテクチャを説明できるリソースの推奨事項はありますか?