主题:对 MVC 不理解
homemailun
[专家分:100] 发布于 2007-11-11 12:30:00
郁闷 对 MVC 不理解
请大虾们赐教啊 !!!!
回复列表 (共3个回复)
沙发
lost841010 [专家分:110] 发布于 2007-11-11 21:18:00
我不是大虾,不过我觉的还是找多几本书好好看一看,一定能明白的.
板凳
justforfun626 [专家分:18460] 发布于 2007-11-11 21:36:00
[quote]The Swing Model-View-Controller Architecture (MVC) is the model behind all the swing components (JButton, JMenu, etc). You may have noticed that there are 3 parts to the MVC Architecture:
Model
The Model is where the data for the component is stored. For example, in a JButton the button label is part of the button's model. In a JList, the list data is in the List Model. Ok.
View
The View is the visual representation of the model. The view makes up half the interface to a component - it graphically represents the model to the user
Controller
The Controller makes up the other half of the component interface, mainly the interaction half. The Controller takes care of mouse and keyboard events. [/quote]
copied from http://www.unknownroad.com/rtfm/swingtut/mvc.html
3 楼
lalar [专家分:150] 发布于 2007-11-12 15:31:00
首先翻译楼上的引用。不过给个建议,在这里尽量使用中文吧。毕竟我们这一代人是从初中才开始碰英语的,不是每个人都掌握的很好。不过,20年后,英语对于现在从幼儿园就开始双语教学的00后来说就不是问题了。
模型-model
模型(M)是组件数据的存储之处。例如,在一个JButton(乃模型)中,按钮上的卷标是按钮模型的一部分,在一个JList中,list的数据存储在模型里。
视图-View
视图是模型的可视化展示。视图包装了访问组件一半的接口,它将模型视图化的展现在用户面前
控制器-Controller
控制器包装了访问组件的另一半接口。主要是交互的这一块。控制器处理键盘和鼠标的事件。
以下是我的个人理解
MVC模式是一种架构模式,由大家耳熟能详的模型视图控制器三大部分组成。
使用此架构模式的目的,
是为了把曾经一度绑定在业务逻辑(模型)中的视图部分抽取出来,
以便实现(对模型)更好的可扩展性和(对视图)可维护性。
从依赖关系上来看,视图是依赖于模型的,
而模型是绝对不可以依赖于视图的,
否则你就不可能在不修改模型的情况下为其开发一个崭新的可视化展现。
从价值上来看,通常模型部分的价值是最高的,视图仅仅只是个展现而已。
就像一个中国移动营业厅,我们看到的是PLMM柜员,她替我们服务。
而背后的是中国移动老总,PLMM服务的内容是他意志和方向的体现。
某天老总觉得这批女柜员太烂,得换男的上,那很容易,
把女员工全部炒了,换成男员工,老总只要把他的意志再灌输给新员工,
营业厅又可以正常营业了。
控制器是配合视图使用的,
处理一些杂七杂八的琐碎事情,
例如什么侦听事件啊,事件分派啊,然后还要看模型状态是不是变化了,要不要更新视图啊等等,
因为视图集中力量在显示图像上了,所以把这一部分职责丢给它去做了。有点类似于没做什么实事,主要起传达作用,喜欢搞欺上瞒下的营业厅店长。^_^开个玩笑。
说来说去,MVC的设计思想也就是一个,分而治之。
我来回复