ホームページ > よくある問題 > なぜソフトウェアアーキテクチャを学ぶのか

なぜソフトウェアアーキテクチャを学ぶのか

(*-*)浩
リリース: 2019-12-24 09:14:30
オリジナル
2605 人が閲覧しました

なぜソフトウェアアーキテクチャを学ぶのか

1. 資格のあるアーキテクトになりたい場合は、ソフトウェア アーキテクチャの概念を理解し、アーキテクチャの定義を理解する必要があります。

1. ソフトウェア アーキテクチャはシステムのスケッチです。

2. ソフトウェア アーキテクチャによって記述されるオブジェクトは、システムを直接構成する抽象的なコンポーネントです。 (推奨学習: phpstorm

3。各コンポーネント間の接続は、コンポーネント間の通信を明確かつ比較的詳細に説明しています。

4. 実装フェーズでは、これらの抽象コンポーネントが、特定のクラスやオブジェクトなどの実際のコンポーネントに洗練されます。

5. オブジェクト指向の分野では、コンポーネント間の接続は通常、インターフェイスによって実装されます。

2. アーキテクトは細分化されており、基本的に 3 つのカテゴリに分類できます:

1. システム アーキテクト: サーバー負荷、信頼性、スケーリング、拡張、データベース セグメンテーション、キャッシュアプリケーションなど。

2. アプリケーション アーキテクト: ビジネスを理解し、モデル、デザイン パターン、インターフェイス、データ インタラクションなどを整理します。

3. ビジネス アーキテクト: ビジネス ドメインとも呼ばれます。専門家、業界専門家、製品コンサルタント、上級コンサルタント。通常、アーキテクトと呼ばれるものは、1 と 2 の組み合わせです。

レイヤード アーキテクチャは最も一般的なソフトウェア アーキテクチャであり、事実上の標準アーキテクチャでもあります。 。どのアーキテクチャを使用すればよいかわからない場合は、それを使用してください。

このアーキテクチャでは、ソフトウェアを水平方向のいくつかの層に分割し、各層の役割と分業が明確になっており、他の層の詳細を知る必要がありません。各層はインターフェイスを介して通信します。

ソフトウェアを何層に分割する必要があるかについて明確な合意はありませんが、4 層構造が最も一般的です。

プレゼンテーション層 (プレゼンテーション): ユーザー インターフェイス。ビジュアルおよびユーザー インタラクションを担当します。

ビジネス層 (ビジネス): ビジネス ロジックの実装

永続層 (永続性): データを提供します。 , SQL ステートメントはこの層に配置されます

データベース: データの保存

一部のソフトウェアは、論理層と永続化層の間にサービス層 (サービス) を追加して、ビジネスで必要ないくつかの一般的なインターフェイスを提供します論理。

ユーザーのリクエストはこれら 4 つのレイヤーを順番に処理され、どのレイヤーもスキップすることはできません。

利点

シンプルな構造、理解と開発が簡単

さまざまなスキルを持つプログラマーが作業を分割し、さまざまなレイヤーを担当することができます。ほとんどのソフトウェアに自然に適している 会社の組織構造

##各層は独立してテストでき、他の層のインターフェイスはシミュレーションを通じて解決される

#欠点

環境が変わるとコードが必要になる 機能の調整や追加をする際、手間と時間がかかることが多い

#デプロイメントが面倒 ちょっとした箇所の修正でもソフトウェア全体を再デプロイメントする必要があることが多い継続的なリリースは容易ではありません。

ソフトウェアをアップグレードすると、サービス全体の一時停止が必要になる場合があります。

スケーラビリティが低い。ユーザーリクエストが大量に増えた場合、各層を順番に拡張する必要がありますが、各層が内部で結合しているため拡張が困難になります

以上がなぜソフトウェアアーキテクチャを学ぶのかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート