2012/07/22 09:45

引用来自“桥下一粒砂”的评论

“Model与View是一种观察者模式”,这对我帮助很大。先感谢了!
别有个问题:视图的显示逻辑,如“改变按钮on/off的状态”,由控制器处理,我觉得有些责任跨界了。
我所理解的MVC模式是,视图的职责是显示用户界面,包括界面各种局部逻辑,比如按钮样式的改变,界面特效等。控制器如你文章所说的,解析用户输入并传递用户数据给模型层。此外,控制器还会根据模型层的状态,修改切换视图,以达到控制流程的目的。模型层的职责是处理数据。
此前我一直对MVC的理解为 View <——> Controller <——>Model 分层结构,对三角形的MVC结构,其Model与View直接交互感到纠结。试想一下,Controller与Model都对View产生强耦合,一旦View发生改变,Model和Controller都必须修改。
不知道是不是我理解MVC有错,还望指正。

关于你的第一个问题,我理解是View上用户的每一个操作都交给Controller处理,用户单击了“On”按钮,Controller就将View的“On"显示为灰色,“Off”显示为白色;同时Controller也控制Model开启相关功能。都有控制器控制比较方便。
另外,担心View和Model、Controller产生强耦合?我的理解是MVC都做成接口,比如View规定了接口函数,多个View可以不同界面,但接口函数是一样的,改变View时Model和Controller不同改变。
2012/07/09 09:41
“Model与View是一种观察者模式”,这对我帮助很大。先感谢了!
别有个问题:视图的显示逻辑,如“改变按钮on/off的状态”,由控制器处理,我觉得有些责任跨界了。
我所理解的MVC模式是,视图的职责是显示用户界面,包括界面各种局部逻辑,比如按钮样式的改变,界面特效等。控制器如你文章所说的,解析用户输入并传递用户数据给模型层。此外,控制器还会根据模型层的状态,修改切换视图,以达到控制流程的目的。模型层的职责是处理数据。
此前我一直对MVC的理解为 View <——> Controller <——>Model 分层结构,对三角形的MVC结构,其Model与View直接交互感到纠结。试想一下,Controller与Model都对View产生强耦合,一旦View发生改变,Model和Controller都必须修改。
不知道是不是我理解MVC有错,还望指正。
回复 @
{{emojiItem.symbol}}
返回顶部
顶部