この記事では、アーキテクチャパターン、使用状況やその長所と短所の一般的な10種類の概念を概説します。
層状モード(層状パターン)
クライアント/サーバモード(クライアント・サーバ・パターン)
マスタ/スレーブモード(マスタスレーブパターン)
パイプ/フィルタパターン(管フィルタパターン)
プロキシモード(ブローカパターン)
モード(ピアのピアツーピア-to-ピアパターン)
イベント・バス・モード(イベントバスパターン)
モデル/ビュー/コントローラ(MVC)パターン(Model-View-Controllerパターン)
黒板モード(黒板パターン)
パーサーモード(インタープリタパターン)
- 層状モード(層状パターン)
成層モードはレベルを解体するための構造設計ソフトウェアのために使用され、各レベルは、トップサービスのための独立した抽象、抽象的です。
システムは、通常、次の4つのレベルに分類されます。
(また、UI層として知られている)プレゼンテーション層
、アプリケーション層は、(また、サービス層と呼ばれる)
ビジネスロジック層(ドメイン層と呼ばれる)
データアクセス層(も永続化層と呼ばれます)
利用シナリオ
ユニバーサルデスクトップアプリケーション
e-コマースWebアプリケーション
- クライアント/サーバーモード(クライアント・サーバーのパターン)
、サーバと複数のクライアント:クライアント/サーバモデルは、2つの部分から構成されています。複数のサーバーコンポーネントクライアント側コンポーネントがサービスを提供する一方で。クライアントがサーバにサービス要求を開始し、サーバーがクライアントに適切なサービス情報に応答します。また、サーバは継続クライアントからの要求を待機します。
利用シナリオ
Eメール、ファイル共有やその他のオンライン・バンキング・アプリケーション
- マスタ/スレーブモード(マスタ・スレーブパターン)
マスタとスレーブデバイス:マスタ/スレーブモードは二つの部分から成ります。最終的な結果を生成するために、デバイスアセンブリから、フィードバックの結果に応じて、これらのデバイスから複数のジョブに分配主サービスコンポーネントが計算されます。
利用シナリオ
複製データベースは、プライマリ・データベースは、信頼できるデータソースとして識別され、それぞれのマスタデータベースのデータと同期
(マスターおよびスレーブデバイスを含む)は、コンピュータシステム内のバスによって相互接続されたデバイス
- パイプ/フィルタパターン(パイプフィルタパターン)
データストリームを生成し、処理するためのシステムを構築するためのパイプ/フィルタパターン。各プロセスは、導管(ピップ)を介して送達するために処理するフィルタ(フィルタ)コンポーネント、データ内にカプセル化されています。間フィルタ(フィルタ)などの同期とパイプラインの両方のためのバッファ。
利用シナリオ
コンパイラ、字句解析のための一連のフィルター、構文解析、意味解析とコード生成
作業フローバイオインフォマティクス
- プロキシモード(ブローカパターン)
構造化されたシステムに組み立てのためのデカップリングプロキシモード。使用システム内のコンポーネント間の遠いプロシージャコール(リモートサービス呼び出し)を相互作用します。エージェント(ブローカー)成分は、通信の構成要素間の調整役として機能します。
コンポーネントは、代理店に発行された能力(だけでなく、サービス特性)にサービスを提供し、クライアントエージェントは、アセンブリ対応するサービス処理によって以前に公開に要求をリダイレクトし、両方のエージェントにサービスを要求します。
利用シナリオ
メッセージミドルウェアソフトウェア:などのApache ActiveMQのは、Apacheカフカ、RabbitMQのとJBoss、
- ピア・モード(ピア・ツー・ピアパターン)
ピア・モードと呼ばれるピアコンポーネント(ピアを使用して)、他のピアへのピアクライアントのサービス要求として、だけでなく、他のピアにサーバー要求への応答としての両方。ピアは、すなわち、いずれかの別のサーバ、またはクライアントとして動作するだけでなく、クライアントとサーバの動作の両方として、動作中に動的に役割を変更してもよいです。
利用シナリオ
ネットワークファイル共有:グヌーテラとG2)
ストリーミングプロトコル:P2PテレビとPDTP
ストリーミングメディアアプリケーション:Spotifyは。
- イベントバスモード(イベント・バスのパターン)
イベントソース(イベントソース)、イベントリスナー(イベントリスナ)、チャンネル(チャンネル)とバス(イベントバス):バス・モードを処理するイベント・イベントが適用され、4つの主要コンポーネントから構成されています。イベントソースは、特定のチャネルバスにメッセージを発行し、リスナーが適切なチャネル、リスナーがチャンネルにサブスクライブ通知するニュースチャンネルによって公開イベントソースをサブスクライブします。
利用シナリオ
Androidの開発者は、
(通知)サービスを宣伝します
- モデル/ビュー/コントローラ(MVC)のパターン(Model-View-Controllerパターン)
(MVCパターンと呼ぶ)モデル/ビュー/コントローラモード対話型アプリケーションは、3つの部分に分割:
モデル(モデル) -コア機能とデータ含んでいる
ビュー(ビュー) - (複数のビューを介して)ユーザに情報を提示
制御装置(コントローラ) -処理のユーザ入力操作
内部情報、ユーザ情報、およびコンポーネント分割、効率的なコードの再利用を分離受信したユーザの動作モードを提示することによって表されるMVCパターン。
利用シナリオ
主流の開発言語インターネット構築したWebアプリケーションフレームワーク
ジャンゴとRailsのWebアプリケーション開発フレームワーク、など
- 黒板モード(黒板パターン)
黒板モードは非予測問題解決の戦略を決定するのに適した、主に3つのコンポーネントで構成されます。
黒板(黒板) -解空間オブジェクト記憶するためのグローバルメモリ構造
(知識)ソース知識-表意自己固有のモジュールとすることができる
選択、構成および実装モジュール-対照(コントロール)アセンブリ
すべてのコンポーネントが黒板にアクセスすることができ、新しいアセンブリが黒板に書き込むことができるデータ・オブジェクトを生成し、黒板パターンマッチングから生成された知識源の特定のデータを取得してもよいです。
利用シナリオ
音声認識
車両識別及び追跡
タンパク質同定の構造
ソナー信号解析
- パーサーモード(インタープリタパターン)
主に評価プロセスラインを指定するために使用されるモードのプログラミング言語を解析するためのパーサは、すなわち文が考えは、各クラスに対応しているコアは、言語記号として定義され、言語固有の発現を解析されます。
利用シナリオ
SQLおよび他のデータベースクエリ言語
プロトコル記述言語