• このエントリーをはてなブックマークに追加

MVCについて勉強したので、実際にRubyTkに応用してみる。

スポンサードリンク

MVCとは

MVCとは、アーキテクチャの一つ。 Model-View-Controllerの略。 ユーザ・インタフェースをもつアプリケーションをうまくつくるための設計方法。

詳しい解説は、リンク先に譲るとする。

MVCアーキを利用すると、

  • 仕様変更につよい
  • 移植がしやすい

などのメリットがある。

また、テストが書きやすいという利点もある。 RubyTkライブラリがからむとviewのテストがかけない。 tkライブラリは論理的な処理から切り離したい。

MVC実装例

ボタンをおすと、ファイルからデータを読み出して、画面に表示するアプリケーションをつくる。

MVC以前

普通の実装。

MVCの実装

Model, View, Controllerの3つにクラスを分割して実装。

proc, lambdaを導入する

上の例だと、ViewとControllerの間に依存関係がある。これをなくしたい。

Rubyでコールバックやハンドラの仕組みを導入するためにはどうすればいいのだろうか?

答えは、procやlambdaを利用すればうまくできた!といっても、完全に依存関係がなくなったわけではないけど。

感性的にこっちの方が美しく感じる。