LoginSignup
2
1

More than 3 years have passed since last update.

エンタープライズアプリケーションアーキテクチャパターン レイヤ化

Last updated at Posted at 2014-06-02

レイヤ化

ソフトウェア設計者が複雑なソフトウェアのシステムを分割するために使用する一般的な技法

レイヤ化のメリット

  • 他のレイヤをよくしらなくても1つのレイヤを全体として考えることができる
    e.g. イーサネットの動作方法を知らなくてもTCP上にあるFTPサービスを構築する方法を理解できる
  • 同じ基本サービスの代替実装でレイヤを置き換えることができる
    e.g. FTPサービスは、イーサネット、PPP、ケーブル会社が変わったとしてもok
  • レイヤ間の依存を最小限にできる
    e.g. ケーブル会社がIPを動作させる物理的な伝送システムを変更しても、FTPサービスを修正する必要はない
  • レイヤは標準化に適している
    e.g. TCPとIPは、レイヤの動作方法を定義しているので標準である
  • レイヤを構築すれば多くの高水準のサービスがそのレイヤを使用できる
    e.g. TCP/IPは、TFP,telnet,SSH,HTTPによって使用される。TCP/IPがなければ、高水準のプロトコルは独自の低水準のプロトコルを作成しなければいけない。

レイヤ化のデメリット

  • レイヤは一部の物事をカプセル化してしまう
  • レイヤを追加するとパフォーマンスを損ねる場合がある。

レイヤ化アーキテクチャで最も難しいのは、以下の内容を決定することである。

  • 必要なレイヤ
  • 各レイヤが行うべき内容
2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1