惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
Y
Y Combinator Blog
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
美团技术团队
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
有赞技术团队
有赞技术团队
博客园 - 司徒正美
V
Visual Studio Blog
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
The Cloudflare Blog

博客园 - Ellipse

Design by Contract what's interface Provider, Manager, Helper - Ellipse Build your own CAB #13 - Embedded Controllers with a Dash of DSL Layer supertype for MVP - Ellipse Build your own CAB#12 - Rein in runaway events with the "Latch " Build your own CAB#11 - Event Aggregator Build your own CAB Part #9 - Domain Centric Validation with the Notification Pattern Build your own CAB Part#8 - Assigning Responsibilities in a MVP pattern Build your own CAB Par#7 - what's the Model? Build your own CAB Part #6 - View to Presenter Communication Build your own CAB Part #4 - The Passive View Build your own CAB Part #3 - The Supervising Controller Pattern Build your own CAB Part #1 - The Preamble(Jeremy D. Miller) Build your own CAB Part #2 - The Humble Dialog Box -- Jeremy D. Miller Gridview 的RowCommand Reading Build your own CAB (1) -- Jeremy D. Miller ActionList Webpage redirection
Having a break
Ellipse · 2007-09-17 · via 博客园 - Ellipse

Layer -> Layer : from on layer to another layer ,there are something to do:

  1. data presentation transform
  2. exposition of actions
  3. data(state) synchronization
Layered application: chose which layer is need and what responsibility will be included.

Responsibility: Know, Have, Do              supply actions, consume actions

Autonomous View:

  1. Not Controller, not presenter
  2. the screen is responsible for everything - getting the data (majorely from the Model) and then deals with the data presentation.

Supervising Controller: the controller

  1. the Controller is responsible getting data from other parts of  the application and then setting up the view with all of the data it needs, including the Model
  2. the Screen have a reference to the Model, and is responsible for synchronizing screen state with the Model directly, at this point , we may use data binding or other mechanism

Passive View

  1. then Controller does very thing for the screen, including the synchronization between the screen state and the Model
  2. then Screen is just dumb and exposes lots of getter/setter to the controller

Presentation Model

  1. the Presenter is the Model, the Presentation Model is a data container and presenter as well
  2. the View binds directly to the Presentation Model just like it would in the Supervising Controller.

additional: Embedded Controller, refers to "user interface widget-aware"  classes that can help a view do some of the presentation work. For example, turning the field that has value or changed data blue, GridHelper class to help tootstrap the standard "sort, page, query, filter" functionality that's similar across screens.