【75】設計するならコーディングできなければならない

マイク・ブラウン

 アーキテクチャーでは、目の前の問題をエレガントに解決してくれる凝った設計や抽象化を作りたくなるものです。プロジェクトに新しいテクノロジーをちりばめたいという気持ちは、さらに抑え難いでしょう。しかし、最後は誰かがあなたの設計を実装しなければなりません。アクロバティックなアーキテクチャは、プロジェクトに影響を与えます。

 アーキテクチャーを設計するときには、設計の個々の要素を実装するために必要な作業量がどのくらいになるか、見当が付いていなければなりません。それらの要素を開発したことがあるなら、必要な作業量の見積もりは大幅に楽になるでしょう。

 設計の中で、自分では実装したことのないパターンを使うのは避けましょう。また、使ったことのないフレームワークに頼るのもよくありません。あなた自身が使ったことのない設計要素がアーキテクチャーで必要とされている場合、次のような困った副作用が発生します。

 では、新しいフレームワーク、パターン、サーバー・プラットフォームの学習にはどのようにして取り組めばよいのでしょうか。これは、独立したもう1つの格言になります。「アーキテクトは何よりもまずデベロッパーであれ」(【63】を参照)。