Quantcast
Viewing all articles
Browse latest Browse all 91

[RubyTk] GUIアーキテクチャの定番MVCをRubyTkで実装してみる

Image may be NSFW.
Clik here to view.

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を利用すればうまくできた!といっても、完全に依存関係がなくなったわけではないけど。

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


Viewing all articles
Browse latest Browse all 91

Trending Articles