锁定老帖子 主题:MVC模式【行为模式第十三篇】
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (6)
|
|
---|---|
作者 | 正文 |
发表时间:2009-10-23
最后修改:2010-10-20
一、架构模式 1、模型端 在MVC模型里,模型便是执行某些任务的代码,而这部分代码并没有任何逻辑决定它对用户端的表示方法。 模型端只有纯粹的功能性接口,也就是一系列的公开方法。通过这些公开方法,便可以取得模型端的所有功能。 在这些公开方法中,有些是取值方法,让系统其他部分可以得到模型端的内部状态参数,其他的改值方法则允许 外部修改模型端的内部状态。 但是一般来说,模型端必须有方法登记视图,以便在模型端的内部状态发生变化时,可以通知视图端。 在java语言里,一个模型端可以继承java.util.Observerable类。此父类可以提供登记和通知视图所需的接口。 2、多个视图端 在MVC模式里面,一个模型端可以有几个视图端,而实际上复数的视图端是使用MVC的原始动机。 使用MVC模式可以允许多余一个的视图端存在,并且可以在需要的时候动态地登记上所需的视图。 在Excel表格中,一个饼图、一个棒图和一个表格均是同组数据的不同视图端,当用户通过任何一个视图修改数据时, 所有的视图都会按照新数据更新自己。 在java语言的java.awt库和javax.swing库里,所有的视窗构件均可以用来建造视图端。但是一个视图如果能够自动 得到更新,便需要实现java.util.Observer接口,这样便使得MVC模式符合观察者模式的定义。 在视图端里,视图可以嵌套,这意味着在视图端里均会有合成模式。 3、多个控制器端 MVC模式的视图端是与MVCF模式的控制器结合使用的。当用户端与相应的视图发生交互时,用户可以通过视窗更新模型的状态, 而这种更新是通过控制器端进行的。控制器端通过调用模型端的改值方法更改其状态值。与此同时,控制器端会通知所有的登记 了的视图刷新显示给用户。这意味着在视图端对象和控制器端对象之间会有观察者模式的应用。 一个控制器端对象在回应视图端请求时,会采用策略模式的方式决定如何回应。 如果想深入了解java模式,必须详细研读以上文章。必有所得啊。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-10-24
难道,这就是mvc?
|
|
返回顶楼 | |
发表时间:2009-10-24
有点扯淡了。。
|
|
返回顶楼 | |
发表时间:2009-10-24
strongant 写道 有点扯淡了。。 上面兄弟,如果不懂请不要妄加评论,谢谢。 |
|
返回顶楼 | |
发表时间:2009-10-25
设计模式是看似简单。用时神奇的东西!!!支持!
|
|
返回顶楼 | |
发表时间:2009-10-25
前面兄弟讲的很正确,但是真正用于项目中的很少,而且我敢说就算是用了有很多程序员也未必能说出个所以然来。但是也不能死盯着设计模式,硬要使用它,只能用到有需要它之处啊,本想每个模式写个好点的例子,但这段时间项目太忙,所有如果有人感兴趣,可写点让大家分享一下,本人在此谢过。
|
|
返回顶楼 | |
发表时间:2009-10-26
这么多的设计模式,项目中用到的却不是太多,只是那几个
|
|
返回顶楼 | |
发表时间:2009-10-27
楼主可能不太经常看源代码吧 看看JAVA源代码 所有的模式就都见全了 模式相当有用 建议深入研究 因为只要你写大于一个类的时候 就很有可能用到模式了 现在弄BS可能平时你们接触的模式少 但是要要做到真正的研究JAVA 就需要去研读源代码 这样你才能改一些东西 写一些更适合自己软件的东西 其实你看看SPRING源代码就好了 当然了你得把23种比较经典的源代码都熟悉了否则你指定看的一知半解的 呵呵 加油 程序员都是这么一点一点过来的
|
|
返回顶楼 | |
发表时间:2009-10-27
谢谢前辈指导,呵呵
|
|
返回顶楼 | |
发表时间:2010-02-23
我很认真的谢谢你。。。看了好几天了,呵呵。。
|
|
返回顶楼 | |