この記事は設計こばなし Advent Calendar 2023の22日目です。
概要
去る2023/9/22にビースラッシュ株式会社主催の設計図フォーラム [第9回]に参加しました。
フォーラムでアーキテクチャ設計に役立つであろうアーキテクチャテンプレートA2G配置という考え方を知りました。
知った時に
- こんなアーキテクチャ設計の考え方があるんだ!!!
- シンプルで美しい!!
- 趣味のプロダクトで気軽に練習できそう!
- よく考えれている!!
と鳥肌が立つくらい感動しました。
そんなA2G配置の概要、使い所につい書きます。
アーキテクチャテンプレートA2G配置とは?
アーキテクチャテンプレートA2G配置ですが下図を参照ください。
ざっくりいうとこの図に記載の名称でディレクトリをつくり、ソフトウェアモジュールを配置しましょう、ということです。
Web資料: ビースラッシュ株式会社 既存コードのグレイボックステスト~潜在バグをあぶりだす~の21ページからの引用
A2G配置の効果・効用
A2G配置のアーキテクチャに則ると何が良いのか?という話ですがつぎの効用があると思います。
- ソフトウェアの階層がアルファベット順になっている。エクスプローラーで見た時に上の階層から下の階層に自然と表示される。
- 直感的にわかりやすい。
- どの階層に何のモジュールを配置するかの指標がある。このソフトウェアモジュールはどこに配置するか思考することになるので整理されたソフトウェアの構造になりそう。
- 7つの階層で程よい数で理解、記憶しやすい(マジカルナンバー7±2(ミラーの法則)の観点でも良い)
- A2G配置に従い開発しているとどこに何があるか明確になる。仕様変更の影響範囲の特定などが早くおこなえそう。
感想
A2G配置のことを知った時になんてシンプルで美しいのだろう、よく考えたなーと尊敬の念を抱きました。
趣味のソフトウェア開発の場面でディレクトリにコードを無秩序に配置し続けていき見通しが悪くなることがあります。
そういったときはA2G配置で整理し練習してみると良いかもしれない・・・と思いました。