《Head First Design Patterns》笔记十五:MVC
来源:互联网 发布:淘宝店铺出售多少钱 编辑:程序博客网 时间:2024/05/20 07:51
概述
MVC是很流行的一种模式。不过并不是GOF定义的23种标准模式之一,我们可以称呼它为一种框架,其实本质就是一种特定的复合模式。
我们分析下MVC
界面Viewer-controller, controller-model都是使用的策略模式。这样使得3者松耦合,可以灵活选择其他策略,我们想像下,是不是有不少厂商,把旗下电器,换个外壳,改个名字,照样拿出来卖的啊,有没有,有,他们就是换了个viewer来榨取最大利润。
ok,里面还有观察者模式,当model状态改变的时候,往往需要通知viewer 和controller.比如控制model的温度上升,那么viewer面板上如果需要知道温度状况的时候,就需要订阅model的温度改变事件了,controller需要了解情况的时候,同样订阅事件。
那么,我们可以说策略模式+观察者模式=MVC,ok,基本的MVC的确是这样。当然实际MVC应用会更加复杂。不过也只是更多的扩展罢了。
实例
闲话休说,还是来点直观的例子吧。我们现在要做一个播放器,要有播放/停止,音量增加/减小,上一首/下一首歌切换功能。
好,那播放界面就是viewer,contoller控制音量增加/减小,播放/停止,等具体操作,实际数据都在model,
1 首先实现Model,
接口IModdel.cs:
实际model实现SongModel.cs:
2.实现Controller
IController.cs.如下
SongController.cs:
3,接着就是实现界面Viewer.cs
4:运行实例了Program.cs如下:
运行结果:
如上图,用户可以点按钮控制播放器了,播放信息出现在RichText框内
是不是感觉界面比较粗糙啊,汗,只是个范例。简单最好,哈哈。
上一篇:Head First Design Patterns》笔记十四:复合模式(Compound Pattern)
- 《Head First Design Patterns》笔记十五:MVC
- 读 head first design patterns笔记(1)
- Head First Design Patterns
- Head First Design Patterns
- Head First Design Patterns
- Head First Design Patterns
- Head First Design Patterns
- Head First Design Patterns
- 再谈Head First Design Patterns
- Head First Design Patterns Study.
- Head First design patterns读书笔记
- 《Head.First-Design.Patterns》总结
- Head First Design Patterns Notes
- head first design patterns(2)
- Head First Design Patterns 阅读笔记之一: Strategy Pattern
- Head First Design Patterns 阅读笔记之二: Observer Pattern
- Head First Design Patterns 阅读笔记之三: Decorator Pattern
- Head First Design Patterns 阅读笔记之四: Factory Pattern
- Google App Engine做的记录访客点击的小工具
- javascript 动态添加表格行
- out.printNavlinkDIV(url,outputname)
- Posix 线程
- offsetParent解释
- 《Head First Design Patterns》笔记十五:MVC
- 精品战略 vs 山寨战略
- 我自己配置的,如何?
- opengl 约定 & 矩阵转换规则
- SQL Server导出导入数据方法
- COM线程模型【转贴】
- 检测点10.5(2)
- JAVA线程实例-----卖票
- 防止url中出现汉字乱码