|
本文主要是受了python gtkmvc项目的启发,尝试用C++来实现基于GtkWidget的Model-View-Controller以及Observer设计模式。
详细代码见附件中。
GTK+的windows运行及开发环境可以从
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+ 下载。
Observer是一个桥梁,它使model到view的数据流传递更加方便。从而大大减轻了Controller的工作。而简化后的Controller的工作就只是所有Callbacks的集合,而这些Callbacks的功能也只是将用户在界面上输入的数据流入到Model中去。它是目前很流行的设计模式,浏览器的设计里少不了它。
一言以蔽之,就是Controller通过Event改变Model,而Model通过Observer来改变View或者其他的Model.
附件里的zip解压后是一个VCExpress 2008的solution。实现了一个测试用例,用来说明GTK+ MVC-O的用法。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|