トップ » 技術記事 » POSA 本でアーキテクチャパターンを勉強しよう(2) - アーキテクチャパターン「混沌から構造へ」より「Layers(レイヤパターン)」

POSA 本でアーキテクチャパターンを勉強しよう(2) - アーキテクチャパターン「混沌から構造へ」より「Layers(レイヤパターン)」

タグ: POSA アーキテクチャ パターン

どうも、あかさたです。前回から「中長期的に役に立つソフトウェア設計のやり方を勉強する」という目的で、POSA 本を片手にアーキテクチャパターンの勉強を始めました。前回は大きく見て「パターンとは何か?」を紹介しましたが、今回からは実際のアーキテクチャパターン「Layers」を勉強します。(POSA 本第2章に相当します。)

アーキテクチャパターンの四つの分類

個別のパターンの学習に入る前に、POSA 本で触れられているアーキテクチャパターンの全容を把握しておきましょう。POSA 本では、アーキテクチャパターンを以下の四つのカテゴリに分類しています。

  • 混沌から構造へ
  • 分散システム
  • 対話型システム
  • 適合型システム

「混沌から構造へ」カテゴリは、複雑になりがちなソフトウェアの構造を整理して「分割して統治」するためのパターンが含まれています。本書では Layers, Pipes and Filters, Blackboard が紹介されています。

「分散システム」カテゴリでは、分散システムを開発する上で有効なパターンが含まれています。本書では Broker が紹介されています。

「対話型システム」カテゴリでは、人とコンピュータの対話(クライアントとシステムの対話)を提供するシステムで有効なパターンが含まれています。Model-View-Controller と Presentatoin-Abstraction-Control が紹介されています。

「適合型システム」では、環境の変化や機能要求の変化による中核機能への影響を抑えるために有効なパターンが紹介されています。Microkernel, Reflection が紹介されています。

この4つのカテゴリによる分類が全てのアーキテクチャパターンを網羅しているわけではなく、あくまで本書に登場するパターンを分類したものです。言うまでもないことですが、パターンで全ての問題を網羅しようとすると膨大なパターンカタログが必要です。

もし、この記事を読まれている方の中に、「将来のための勉強」や「個別のアプリケーションの設計の参考にする」という動機意外に、「組織的にアーキテクチャに関する知見を蓄えようとする」一種のプロダクトラインを構築する側の人がいるとします。もしそうであれば、対象領域に合わせたパターン体系を組む必要があるでしょう。POSA でも後半(第5章)にそういった人を対象とした内容が記述されています。本連載でも後の方で触れる機会があると思います。

混沌から構造へ

「アーキテクチャとは何か」と問われたときに、何を答えるかは人それぞれでしょう。「システムの基本的な構造」だったり、「システム全体の動作メカニズム」だったり、「設計判断するに至った経緯」だったり、「多くのエンジニアが開発時に従うべき規約・様式」だったりすると思います。

「システムの基本的な構造」という視点に立てば、システムをどのように分割するかは非常に重要な問題と言えます。「混沌から構造へ」カテゴリでは、システムをどのように分割して整理するかに関するパターンを含んでいます。

それでは、まずは Layers(レイヤパターン)を見ていくことにしましょう。

Series Navigation«パターンとは何か?アーキテクチャパターン「混沌から構造へ」より「Pipes and Filters」»

1 2 3 4

執筆者紹介

あかさた

あかさた

未踏(2006年度下期)でWeb上で動作するモデリング環境 Kodougu の開発をしてました。こちらでもブログを書いています。

TrackBack URL :