引言:
A Wise old computer scienist once said: Make your data structure smart and your code dump.
We need SMART Models, THIN Controllers, and DUMB Views.
最早用MVC还是在MFC中的文档视图框架,不过给人感觉比较繁琐,没怎么好印象。前几天无聊看了一下Python的Django框架,发现它采用了一种MTV(Model Template View)的框架,和MVC差不多。看来MVC使用很广泛,我顺便学习了一下好用在的项目中。
一般来说MVC中Controller控制数据流、Model存数据、View显示数据对应于数据的输入、处理和输出。Controller设计时要thin尽量简洁,Model则必须smart处理各种数据,View则尽可能dumb按部就班的显示Model的数据就可以了。

我自己写的程序中Model试着采用Sqlite3数据库,但是每次操作Model都要频繁的访问硬盘,把我的硬盘弄的咔咔响。一般数据库出现这种情况,就要考虑用事务处理插入或修改记录,但现在操作Model却是随机的,所以事务用不着。最后只好用Sqlite3的内存数据库,程序启动时把硬盘中的数据库文件导入内存,程序退出时再保存到硬盘中。
最后补充一点:Sqlite3导入内存数据库时要注意Page size要设置成跟硬盘中的一样,关于Sqlite3用起来还真不错,看来数据库也要好好学一下。
参考: