hhh

常用链接

统计

最新评论

Swing 的MVC

  说到MVC,大家都知道他是构建GUI的有力模型。不过MVC本身比较抽象和宽泛,所以对于它的实现有很多。
     swing对于MVC的实现用一句话来说就是:一个GUI组件对应着一个MVC体系。
     在这个体系当中JComponent这样的组件就扮演者MVC中的C,那拿JTable来说,MVC 就是 TableModel JTable TableUI.
     这种将MVC几乎实施到每一个GUI元素的设计相当的灵活.对于swing 的MVC还有一个重要的特点就是它对于model 作了进一步的区分,那就是真正表达程序数据的model,和仅仅表达界面状态的model.还拿JTable 来说就是: TableModel 与 TableColumnModel.
     在很多地方看到都说swing的这种MVC的划分多被科学家欣赏,这我就不能苟同了,我是普通人,不过我也很欣赏.swing高雅而又不失实用.
     当然也有人会说尽管swing的MVC很精彩,不过通常我们程序中model都不是仅仅对应在一个GUI元素上,甚至不能确定要对应在哪些GUI元素上.
     定义这样的类通常仍然很死:
     class MyModel implements TableModel,ListModel{
    
     }
    
     我觉得对于swing的设计没有什么错,它为每一个组件期待的model定义了相应的接口.但是我们程序当中的model又希望更独立于GUI.
     为了达到两全其美,到可以使用Eclipse里面的IAdaptable
    机制.让你的model具有 IAdaptable能力,这样你就可以将它随便适配到哪个swing model 上.如此的组合真是从头到脚的灵活性.
     还有swing的这种MVC设计也促成了swing的可插拔外观特性.

posted on 2006-10-17 17:42 hhh 阅读(1091) 评论(1)  编辑  收藏

评论

# re: Swing 的MVC 2006-10-18 14:27 123bingbing

增开7群,号码 30440732
8群 30756649
9群 30178567
10群 28694497

我们的qq群:15096318 学习程序的都可以来  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: