【发布时间】:2014-06-22 10:43:56
【问题描述】:
从一周开始,我一直在寻找使用 java 的 MVC 的真正解释和实现,但我注意到每个人都以不同的方式实现它,所以如果你给我一个有用的链接或电子书,我将不胜感激它,我需要回答这些问题:
- 如何通知模态视图发生的变化,因为模态是可观察的而不是观察者?
- 如何通知视图发生在集合上的更改(将项目添加到数组列表),因为要添加项目,这将发生在控制器处理程序上并且控制器是不可观察的。
- 在大型项目中是否必须使用 MVC。
【问题讨论】:
-
模型既可以是可观察的也可以是观察者。另外,模型的变化会由控制器触发,但变化会发生在模型中,然后模型可以通知视图。
-
重要的是要理解“模型-视图-控制器”是一个很少根据理论实际实现的概念,而且代码经常被严重扭曲以试图更接近理论。将其用作一般的结构概念,但不要让尾巴摇摆不定。
-
Model-View-Controller 变得如此流行,以至于人们觉得他们不得不说他们正在实现它,即使他们不理解它或者正在编写一些不适用的东西。因为我们的行业会惩罚人们承认他们不了解当前的时尚,所以很多人粗略地(或更少地)阅读了一些声称是 MVC 描述的东西,然后继续指导其他人等等。我建议了解基本的好的软件设计的想法,并且能够在工作面试中说出一个学术描述,否则就不用担心了。
-
我在任何语言中看到的对 MVC 的最佳解释是 this book。
标签: java model-view-controller observer-pattern