粗粒と細粒の違いは何ですか?
これらの用語を Google で検索しましたが、意味がわかりませんでした。
ウィキペディアから(粒度):
粒度とは、システムが小さな部分 (システム自体、またはその説明または観察) に分割される程度です。それは、より大きなエンティティが細分化される範囲です。たとえば、インチに分割されたヤードは、フィートに分割されたヤードよりも粒度が細かくなります。
粗粒度システムは、細粒度システムよりも少数の大きなコンポーネントで構成されます。システムの粗粒度の記述は大きなサブコンポーネントに関するものであり、細粒度の記述はより大きなコンポーネントが構成されている小さなコンポーネントに関するものです。
粗粒度:少数のオブジェクトが多くの関連データを保持しているため、サービスの機能範囲が広くなっています。例: 単一の「アカウント」オブジェクトは、顧客名、住所、口座残高、開設日、最終変更日などを保持します。 したがって:設計の複雑さが増し、さまざまな操作に対するセルの数が少なくなります。
きめの細かい:それぞれが保持するデータが少ないオブジェクトが増えるため、サービスの機能範囲がより狭くなります。例: Account オブジェクトは残高を保持し、Customer オブジェクトは名前と住所を保持し、AccountOpenings オブジェクトは開始日などを保持します。 したがって、設計の複雑さを軽減し、さまざまなサービス操作に対するセルの数を増やします。これらは、これらのオブジェクト間に定義された関係です。
理解するためのもう 1 つの方法は、プロセスとスレッド間の通信の観点から考えることです。プロセスは、ソケット、シグナル ハンドラ、共有メモリ、セマフォ、ファイルなどの粗粒度の通信メカニズムを使用して通信します。一方、スレッドは、プロセスに属する共有メモリ空間にアクセスできるため、よりきめ細かい通信メカニズムを適用できます。
出典: 実際の Java 並行性
サービスのコンテキストでは:
http://en.wikipedia.org/wiki/Service_Granularity_Principle
用語は相対的ですが、定義上、粗粒度のサービス操作は細粒度のサービスよりも広い範囲を持ちます。前者は通常、設計の複雑さが増しますが、タスクを完了するために必要な呼び出しの数を減らすことができます。
きめの細かいサービス インターフェイスは、おしゃべりなインターフェイスとほぼ同じです。
テキスト ファイルのようなデータセットに関して言えば、粗粒度とは、データセット全体を変換できるが、データセットの個々の要素を変換できないことを意味し、細粒度とは、データセットの個々の要素を変換できることを意味します。