スマートUI
もう年末ですね。冬休みまであと1週間、なんとか無事に過ごしたいものです。
それはそうと、この冬休みの宿題を先ほど自分で決めました。
「Domain-DrivenDesign」(略してDDD)を読むことに決定です。
タイトルからして、良い内容が書かれているであろうことは容易に想像がつきますし、
耳に入ってくる噂もだいたいよいものばかりです。
悪い噂といえば、「DDD難民に捧げる Domain-Driven Designのエッセンス」 なんてページがあるくらい、
読みたいけど、読めない難民がたくさん?いるくらいですかね。まあ、やってみましょう。
「DDD難民に捧げる Domain-Driven Designのエッセンス」 のページでは、
まあわかりやすくエッセンスが説明されていて、大変ありがたい限りです。
その中に、「スマートUIアンチパターン」というものがあります。
「スマートUIアンチパターン」とは、こちらのページの中に書いてある表現を借りれば、
「ビジネスロジックやデータアクセスのコードが、UIのコードと一緒になってしまっている、いわばスパゲッティな状態。」
ということです。
私は体験しているのでわかりますが、正直、本当に困ります(笑)。
「スマートUI」という言葉を知るまでは、よく「サンプル・アプリケーション・アーキテクチャ」と呼んでいました。
インターネット上によくあるウェブのサンプルコードを、そのまま拡張していって出来上がったもの、という意味です。
これに対する処方箋は、やはり「レイヤリング」です。
もちろんDDDでも図解付きで記述がありますが、そのほか様々な書籍でこのレイヤリングの図を見ます。
それぞれで微妙に違ったりはするのですが、主要なところは、
- 「プレゼンテーションレイヤ」
- 「ドメインレイヤ」
- 「データソースレイヤ」
で、このぐらいはどの書籍でも共通して分けている部分です。
とまあ、教科書通りのことを書いてみましたが、現実にスマートUIとご対面すると、そんな簡単にはいかないですね。
一度作ったスマートUIは「アンチパターン」というだけあって、とっても頑固です。
いったんそれで動きだしてしまうと、もう無理。リファクタリングでレイヤリングなんて夢のまた夢(涙)。
みなさん、本当にスマートUIだけはやめた方がいいですよ。
何の書籍を参考にしてもよいので、レイヤリングだけは行いましょう。
コメントはまだありません。