<< 実践 ソフトウェア・アーキテクチャ : アンチパターンが実は正しい? | main | 実践 ソフトウェア・アーキテクチャ : Spring MVC >>

実践 ソフトウェア・アーキテクチャ : レイヤ構造と import 文

ソフトウェアをレイヤ構造にすると、クラスファイル内の import 文が減る、という話。

関心を分離すると、あるクラスの役割・責任はとても単純になります。

ソースコードで具体的に考えると、

・ コードの行数が減る
・ public メソッドが減る
・ import 文が減る

ようになります。

レイヤ構造、という視点で、私がコードレビューで注目するのは、import 文 の数と import するパッケージの種類

レイヤ構造のソフトウェアでは、いろいろな用途のパッケージを大量に import することはありえません。 

ドメイン層のクラスでは、 servlet や sql に関連するパッケージは絶対にでてこない。
デフォルトの lang と collection くらいで記述していないとおかしい。

UI層のクラスは、フレームワーク使ったりすると、いろいろ import が必要になることがあるけど、ちょっと待ってほしい。 さらなる階層化や、クラスの役割の分割が必要なのでは?

データアクセス層でも同じことですね。

import 文が多いクラス。例えば5つ以上の import 文が書かれたクラスは、たくさん責任を背負い込みすぎている可能性が高い。 

レイヤ構造、というソフトウェア・アーキテクチャを採用したら、徹底的に import 文のチェックをやる。 SQL 例外をドメイン層で扱うために、 java.sql をインポートする、なんていう、「アーキテクチャ(レイヤ構造)くずし」が、普通にあったりしますから。

コメント
コメントする









この記事のトラックバックURL
トラックバック
calendar
 123456
78910111213
14151617181920
21222324252627
28293031   
<< May 2017 >>
システム設計日記を検索
プロフィール
リンク
システム開発日記(実装編)
有限会社 システム設計
twitter @masuda220
selected entries
recent comment
recent trackback
categories
archives
others
mobile
qrcode
powered
無料ブログ作成サービス JUGEM