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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Ellipse

Design by Contract what's interface - Ellipse 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) - Ellipse Build your own CAB Part #2 - The Humble Dialog Box -- Jeremy D. Miller Gridview 的RowCommand - Ellipse Reading Build your own CAB (1) -- Jeremy D. Miller ActionList Webpage redirection - Ellipse
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.