我想知道观察者模式和MVC之间有什么区别。 我有一些在学校用Java编写MVC程序的经验,但没有使用观察者模式的经验。 (有人告诉我观察者模式意味着我在Java中使用了Observer类......我不认为这是一个很好的答案。)
请帮助我解决以下问题,感谢lottttt。
他们之间有什么区别?观察者模式不为控制器使用单独的类?
观察者模式和MVC之间有什么关系? 我听说过两种不同的版本。
是否可以只使用其中一个?如果是这样,在什么情况下,你使用一个而不是为什么?
答案 0 :(得分:14)
我希望这也能回答你的另外两个问题。
观察者设计模式是一种行为模式,当我们想要在对象x发生变化时通知对象(比如说x)的所有依赖者时使用。 好读:http://www.dofactory.com/Patterns/PatternObserver.aspx
他们两者密切相关,你可以从MVC图中看到MVC - 例如:“视图”中的更改必须通知“模型”和“控制器” 实现此类功能的一种有效方法是观察者设计模式。
好读:http://en.wikipedia.org/wiki/Observer_pattern
In fact the observer pattern was first implemented in Smalltalk's MVC based user
interface framework.
希望这有帮助!
答案 1 :(得分:2)
有很多与您提出的问题相关的文章。对我来说MVC是一种架构模式,它也“包含”了观察者模式。我相信如果真的在不同的现实项目实现中研究MVC模式,那么它就有不止一种设计模式。
可以放大或缩小。