ラインでのアーキテクト実践ガイドライン第三 - 洗練されたアーキテクチャ(プレビュー)

アーキテクチャ洗練何である
「概念レベル」ソリューションと「規程クラスの」ソリューションに対応した、洗練されたアーキテクチャアーキテクチャの概念は相対的な用語。洗練されたアーキテクチャ(洗練されたアーキテクチャは)詳細設計(詳細設計)と混同しないように、アーキテクチャに属します。
建築設計とソフトウェアアーキテクチャ設計類推のマルチビュー方式のため、ほとんどのマルチビュー方式のようなアーキテクチャの分野。
実際の意味
マルチビューアプローチの価値:
1.思考を助長
2.交換を促進します
練習の必需
方法を示す図5
の合計図:各ビュー、思考の角度
複数のビューを含む5ビュー方法:
論理ビューを。
展開図。
ビューを実行します。
物理ビュー。
データビュー。

 

 

 
:5は、彼らの「思考の立場」を表示
職務分掌(論理ビュー)。
プログラムの組織単位(展開図)。
フロー制御組織(ランビュー)。
構成物理ノード(物理ビュー)。
永続的(ビュー)を設計します。
詳細:各ビュー、技術的な懸念のセット
数々の技術的な懸念をカーディング方法を示す5ビュー:

 

 


論理アーキテクチャ
と比べてサブ分割戦略の3種類の
階層的な洗練
成層は、最も一般的な建築のパターンです。3または4層アーキテクチャは、並列開発チームをサポートして、「階層的な洗練」(複数の層)への必要性は十分ではありません。

 

 


パーティションの導入
反復開発をサポートするためには、論理アーキテクチャのデザイン・パーティションを導入しなければなりません。パーティションは、内側の層よりも小さい粒子サイズを有しているユニットです。
建築家のパーティションの各レイヤの設計、反復型開発したら、「深さ優先」のスタイルは非常に自然です。

抽出機構の
機構定義:ソフトウェアシステム機構は、所望の目的、役割ベース協調抽象方法を完了するために、事前に定義された意味します。だけでなく、メカニズムは、協力関係を含むが、コラボレーティブプロセスを含んでいます。
オブジェクト指向のアプローチのために、「協力」は、以下のように要約することができる区別「協調」と「機構」「オブジェクトの複数のための特定の目的を達成するために相互作用する」と定義することができる:インタフェース(及び抽象クラス)に基づいてコラボレーションは、メカニズムが協力本当に特定のないクラスに基づいており、メカニズムです。
階層的な洗練、これらの3つの戦略の背後にあるエキスパーティション4つのユニバーサルデザインの原則へのメカニズムの導入:
異なるサブシステムの下で異なる責任ユニット。
異なるサブシステムの下で異なる細胞の多様性。
これは、異なるサブシステムの下で異なった能力開発ユニットが必要です。
アカウントに比較的バランスワークロードを取ると、多くの更なるセグメンテーション・サブシステム。
ホリスティックな思考ルーチンの論理アーキテクチャ設計の
ポイント:
尋問ドライブ。
構造設計と実施設計段階分離。
アーキテクチャの設計は容易ではありません。需要は役割、建築設計の中間結果のデザインを「駆動」している - >疑問中間成果は - >継続的に洗練された中央の絞り込み結果は - >改善し続ける... - >質問に引き続き
より多くの経験

物理的なインフラストラクチャ
私たちはデザインの物理的な構造が必要なのはなぜ
時々 、ハードウェアで問題を解決することができない可能性が増加している。
ソフトウェアだけでなく、実際のサービスの容量は、「ハードウェアリソース」でなく、「データのギャップ」と「データ競合」制約によって制約しました。
=計算能力を高めるために追加のハードウェアは、実際のサービス容量の拡張ソフトウェアと等しくない
ソフトウェアのシステムは、信頼性、スケーラビリティ要件、継続的な可用性、パフォーマンス、セキュリティなどを満たす方法に焦点を当て物理構造。
物理的なアーキテクチャの設計の仕事内容
:3つの主なタスクの物理的なアーキテクチャ
のハードウェアの選択と物理トポロジ。
ハードウェアのマッピング関係にソフトウェア。
最適化プログラム。
物理アーキテクチャのデザイン思考
などのデータ単位としての物理ノード、ネットワーク、ソフトウェア要素の内容よりも、設計レベルの結果から、より多くの何も周りの決定に展開します。

ファイル名を指定して実行アーキテクチャは
なぜアーキテクチャを実行する必要がない
システムは任意の並列または同時処理を導入していないとき、およびSDK、APIおよびその他のインフラストラクチャソフトウェアを与えていない、カスタム開発、それがデザインアーキテクチャを実行する必要はありません。
複雑なビジネスロジックや(ハードウェアとの相互作用を含む)の複雑な相互運用性のロジックに対処するために、システム、または重要な資源の利用効率を最適化するために、しかし、並列または同時実行制御フローの数に依存しなければならないためにならば、我々は、設計アーキテクチャを実行する必要があります。
実行アーキテクチャ設計作業内容
実行アーキテクチャには、次の作業の内容を含む状況に応じて異なる可能性があります
導入される制御フローを決定します。
各制御タスク・フローを決定します。
関連する問題に対処:作成、破壊、及び他の通信メカニズムの流れを制御します。
さらに考察:フロー制御の同期との関係、リソース競合、たとえロック機構の導入。
図のフロー制御が重要です。アーキテクチャの設計作業は、実際には、そう長くシングル「制御フローグラフ」として、簡単な概要他の関連する設計を行うことができるようになる、多くのと複雑な実行するようです。
流れの制御を達成するために3つの一般的な手段
:ほとんどの場合、フロー制御のために使用される方法の3種類の
プロセス、スレッド、割り込みサービスルーチンを。
開発フレームワーク
のアーキテクチャを開発するのはなぜでなければなりませんで
必要な「プログラム・ユニット」、「ソースディレクトリ構造」などの開発を平行、特定のタスクを実行するために異なるプログラムチームの基本です。
パラレル支援の詳細設計。
プログラムマネージャは、プログラマが持ったまま、「通信の簡単なアーキテクチャ」の多数のワークロードを排除する、アーキテクチャの練習の作業に参加することをしよう「達成感を。」
コンテンツ開発アーキテクチャ設計作業は
、一般的に完了している:
1.「論理機能は、」「プログラム単位を」マッピングされた:
独立したソース書き込むには
、再利用可能なライブラリ、フレームワークの
(プラットフォームのサポートの下で、このようなシェルスクリプトとして、コンフィギュレーションファイル)他の方法での
2.技術選択の開発
開発言語の
開発ツール
3.「プログラムユニット」との間の関係
のプロジェクト分割
プロジェクトディレクトリ構造
コンパイル依存
テストの再利用がする鍵となる
年の修正同様の問題が後に問題の解決年間
基本的にメンテナンスコストを削減します
データ配信
データ配信ポリシーの6種類
1.独立スキーマ
関連するシステム・コンポーネントによって小さなシステムの大多数、および異なるシステムが相互に異なる小スキーマ定義データベースと呼ばれる条件有する「独立スキーマ」を
これは、システム間の不要な相互の影響を軽減するために好適な建築家の流通戦略でなければなりません場合は、人為的に複雑な問題を避けるために。
2.集中(集中)は、
異なる場所からのアクセスをサポートする必要があり、大規模なシステムを指す、またはシステムがいくつかの小さな関連するシステムコンポーネント、および永続的なデータストレージで構成されている場合、統一フォーマットを集中集中します。
特徴:集中ストレージ、流通へのアクセス
3.パーティション(パーティション)
分割モードは、水平パーティション及び垂直パーティションを含みます。
システムは、多くの場合、水平パーティショニングを使用して、「同一のサービスを」提供する「ユーザの広範囲の地理的分布」のようになります。特徴:2つの同一の、二つの異なる-インスタンス配備同じアプリケーション、異なるアプリケーション、データの同じタイプ、異なるデータ値。
一般的に小さな縦のパーティショニング効果。特長:スキーマの違いは、「フィールドの一部」で異なるデータノードを持っています。
コピー(複製された)4.
分散システム全体で、格納されたデータの複数のコピー、及び機構(リアルタイムまたはスナップショット)データの複数のコピーの間でデータの一貫性を維持します。
特徴:データの「ローカリゼーション」、改良されたデータアクセス性能、データの特殊なコピーがあなたの最適化を集中するのに役立ちます。データの特殊なコピー、セキュリティコントロールを強化し、管理性を向上させます。
部分集合(サブセット)
「サブセット」は、「コピー」の特別なモードであるによる全データの比較的固定された保存されたサブセットにノードまたは機能的な考慮事項の関数です。
サブセットの相対的な複製機能(利点):クロスマシンは、データ転送のオーバーヘッドを低減する;データの冗長性を削減し、ストレージのコストを節約します。
6.(再編成)組換え
異なるデータノードに彼らが異なる機能をサポートする必要があるため、異なるスキーマでは、データを保存する-が、データは、本質的に相同です。データが直接コピーされますが、「再編成」形式に渡されたり、保存されていません。
データ配布戦略大きな画像

おすすめ

転載: www.cnblogs.com/zql98/p/12652629.html
おすすめ