一般的なソフトウェア アーキテクチャ パターン: 階層化アーキテクチャ パターン、クライアント/サーバー パターン、マスター/スレーブ パターン、パイプライン フィルター パターン、プロキシ パターン、ポイントツーポイント パターン、イベント バス パターン、モデル ビュー コントローラー ( MVC)モード、黒板モード、インタプリタモードなど。
#10 の一般的なソフトウェア アーキテクチャ パターン
#大企業レベルのパターンを知りたいシステムはどのように設計されたのですか?ソフトウェア本体を開発する前に、必要な機能と品質特性を提供するために適切なアーキテクチャを選択する必要があります。したがって、設計に適用する前に、さまざまなアーキテクチャを理解する必要があります。#アーキテクチャ パターンとはWikipedia:
アーキテクチャ パターンは一般的なものです、ソフトウェア アーキテクチャの特定のコンテキスト内で一般的に発生する問題に対する再利用可能なソリューション。アーキテクチャ パターンはソフトウェア デザイン パターンに似ていますが、範囲はより広いです。この記事では、次の 10 個の一般的なアーキテクチャ パターンの用途、利点、欠点について簡単に説明します。
1. レイヤードモード
2. クライアントサーバーモード 3. マスタースレーブモード
4. パイプフィルターモード
5. プロキシモード
6. ポイント-to-point モード
7. イベント バス モード
8. モデル ビュー コントローラー モード
9. ブラックボード モード
10. インタプリタ モード
このパターンは、複数のサブタスク グループに分解できるプログラムを構築するために使用されます。各サブタスクは特定の抽象化レイヤーにあり、各レイヤーはサービスは前の上位レベルによって提供されます。一般的な情報システムで最も一般的な4層構造は以下のとおりです。
プレゼンテーション層 (UI 層とも呼ばれます)
このモードは次のもので構成されます。 2 部分的な構成: 単一のサーバーと複数のクライアント。サーバー コンポーネントは、複数のクライアント コンポーネントにサービスを提供します。クライアントはサーバーにサービスを要求し、サーバーはこれらのクライアントに対応するサービスを提供します。さらに、サーバーはクライアントのリクエストをリッスンし続けます。
#アプリケーション シナリオ
電子メール、ドキュメント共有、バンキングなどのオンライン アプリケーション
3. マスター/スレーブ モード
このモードは、マスター ノードと複数のスレーブ ノードの 2 つの部分で構成されます。マスター ノード コンポーネントは、複数の独立したスレーブ ノード コンポーネントにタスクをディスパッチし、スレーブ ノードから返された結果に基づいて最終結果を計算します。
アプリケーション シナリオ
データベース レプリケーション。マスター データベースが信頼できるソースとみなされ、スレーブ データベースに同期されます。
システムの周辺機器(マスター・スレーブドライバー)への接続4. パイプフィルターモード
このパターンは、データ ストリームを生成および処理するシステムを構築するために使用されます。各処理ステップはフィルター コンポーネントにカプセル化されます。処理されるデータはパイプに送信され、バッファリングや同期に使用できます。 # アプリケーション シナリオ
#コンパイラー、後続のフィルターが単語の意味分析、構文分析、意味分析、コード生成を実行します
workflowバイオデータ分野の
# アプリケーション シナリオ
#Apache ActiveMQ、Apache Kafka、RabbitMQ、JBoss Messaging などのメッセージ キュー ソフトウェア
6. ポイントツーポイント モード
このモードでは、各独立したコンポーネントはピアと呼ばれます。ピアは、クライアントとして機能して他のピアからサービスを取得することも、サーバーとして機能して他のピアにサービスを提供することもできます。ピアはクライアント、サーバー、またはその両方として機能し、いつでも動的に役割を切り替えることができます。
アプリケーション シナリオ
7. イベント バス モード ## このモードは主にイベントを処理し、イベント ソース、イベント リスナー、チャネル、イベント バスの 4 つの主要コンポーネントがあります。イベント ソースはイベント バス上のチャネルにメッセージをパブリッシュし、リスナーはチャネルにサブスクライブし、サブスクライブされたチャネルでパブリッシュされたメッセージについて学習します。
Android 開発
8. Model-View-Controller パターン このパターンは MVC パターンとも呼ばれ、対話型プログラムを 3 つの部分に分割します。 : モデル - コア機能とデータが含まれます。ビュー - ユーザーに情報を表示します (複数のビューを定義できます)。コントローラー - ユーザー入力を処理します。これは、ユーザー情報の内部表現を、それが提示および受信される方法から分離し、コンポーネントを分離し、効率的なコードの再利用を可能にすることによって実現されます。
主流プログラミング言語の World Wide Web プログラム アーキテクチャ
9. ブラックボード モード このモードは問題に非常に適しています。決定的な解決戦略がない場合でも、それは機能します。ブラックボード パターンは、ソリューション スペース オブジェクトを含む構造化されたグローバル メモリである黒板、独自の表現を持つ特殊なモジュールである知識ソース、および選択、構成、および実行モジュールである制御コンポーネントの 3 つの主要なコンポーネントで構成されます。すべてのコンポーネントは黒板にアクセスでき、新しいデータ オブジェクトを生成して黒板に追加できます。 Blackboardでは、既存の知識ソースからの一致ルールに基づいて特定の種類のデータを見つけることができます。
音声認識
10. インタープリターモードこれパターンは、特定の言語で書かれたプログラムを解釈するコンポーネントを設計するために使用されます。このコンポーネントは主に、特定の言語で書かれたプログラムコードの行、いわゆる文や式をどのように評価するかを規定するものであり、言語記号を分類することが基本となります。
# アプリケーション シナリオ
#SQL などのデータベース クエリ言語
通信プロトコルの記述に使用される言語
アーキテクチャ パターンの比較
次の表は、各アーキテクチャ パターンの長所と短所をまとめたものです。
# この記事があなたのお役に立てば幸いです。また、皆様のご意見もお聞きしたいです。読んでくれてありがとう。 ^_^
以上が一般的なソフトウェア アーキテクチャにはどのようなものがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。