http://martinfowler.com/eaaDev/uiArchs.html
没太看懂,一些看懂的片段:
So now I think it's time for some soundbites on MVC.
- Make a strong separation between presentation (view & controller) and domain (model) -Separated Presentation.
- Divide GUI widgets into a controller (for reacting to user stimulus) and view (for displaying the state of the model). Controller and view should (mostly) not communicate directly but through the model.
- Have views (and controllers) observe the model to allow multiple widgets to update without needed to communicate directly - Observer Synchronization.
http://stackoverflow.com/questions/26685/what-is-mvc-and-what-are-the-advantages-of-it
http://stackoverflow.com/questions/5863870/how-should-a-model-be-structured-in-mvc/5864000#5864000
http://www.codinghorror.com/blog/2008/05/understanding-model-view-controller.html
-
Models
Models represent knowledge. A model could be a single object (rather uninteresting), or it could be some structure of objects.
There should be a one-to-one correspondence between the model and its parts on the one hand, and the represented world as perceived by the owner of the model on the other hand.
-
Views
A view is a (visual) representation of its model. It would ordinarily highlight certain attributes of the model and suppress others. It is thus acting as a presentation filter.
A view is attached to its model (or model part) and gets the data necessary for the presentation from the model by asking questions. It may also update the model by sending appropriate messages. All these questions and messages have to be in the terminology of the model, the view will therefore have to know the semantics of the attributes of the model it represents.
-
Controllers
A controller is the link between a user and the system. It provides the user with input by arranging for relevant views to present themselves in appropriate places on the screen. It provides means for user output by presenting the user with menus or other means of giving commands and data. The controller receives such user output, translates it into the appropriate messages and pass these messages on to one or more of the views.
相关推荐
软件工程领域的超级经典巨著,与另一巨著《设计模式》并称"软工双雄"。在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。
By: Martin Fowler Publisher: Addison-Wesley Professional Pub. Date: September 24, 2010 Print ISBN-10: 0-321-71294-3 Print ISBN-13: 978-0-321-71294-3 Web ISBN-10: 0-13-210754-6 Web ISBN-13: 978-0-13-...
重构----改善既有代码的设计(By Martin Fowler) 非常经典的一本书!
Martin Fowler的经典书籍,重构 改善既有代码的设计中文版
Martin Fowler - Analysis Patterns_ Reusable Object Models-Addison-Wesley Professional (1996) 英文版
大师Martin Fowler的经典之作,对复杂的领域分析总结汇编成模式,半着实例娓娓道来
Martin Fowler名箸 Patterns of Enterprise Application Architec
大师之作,Martin Fowler的持续集成,中文版。持续集成是一种软件开发实践,在实践中项目成员频繁地进行集成,通常每个成员每天都会做集成工作,如此,每天整个项目将会有多次集成。
重构,改善既有代码的设计(中文版,Martin Fowler 著).part03
UML2初学好书-(“UML Distilled”:Martin Fowler)-中英文合辑 EN::(UML Distilled) Third Edition(2003)--CHM格式 , zhTW:(UML 精华第三版) /物件模型语言标准简介---PDF格式 [物件模型语言标准简介初学好书-UML-2...
Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践...
Refactoring Improving the Design of Existing Code by Martin Fowler pdf.pdf
NULL 博文链接:https://357029540.iteye.com/blog/2381151
Martin Fowler - Enterprise Integration Pattern pdf版本
该书讨论如何在现有代码的基础上重构,并加入新代码的各种具体的思路和方法 有些机器解压后需要将pdf文件名改为1.pdf才能正确打开,感谢网友“风雨者”的反馈
Martin Fowler的Inversion of Control Containers and the Dependency Injection pattern。中文版。 本文中,作者深入探索IOC模式的工作原理,给它一个更能描述其特点的名字——“依赖注入”(Dependency Injection...
这本书第一章讲得实例在现实中经常碰到,至于后续章节需要慢慢品味,除非你只想做个平庸的程序员!
Martin Fowler名箸 Analysis Patterns - Reusable Object Models
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。...
Martin Fowler和《重构:改善既有代码的设计》(中文版)另几位作者清楚揭示了重构过程,他们为面向对象软件开发所做的贡献,难以衡量。《重构:改善既有代码的设计》(中文版)解释重构的原理(principles)和最佳实践...