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

推荐订阅源

G
GRAHAM CLULEY
T
Tenable Blog
Know Your Adversary
Know Your Adversary
C
CXSECURITY Database RSS Feed - CXSecurity.com
P
Privacy International News Feed
S
Security Affairs
NISL@THU
NISL@THU
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Schneier on Security
Schneier on Security
S
SegmentFault 最新的问题
S
Schneier on Security
G
Google Developers Blog
V
V2EX
C
Check Point Blog
U
Unit 42
Google DeepMind News
Google DeepMind News
T
Threatpost
阮一峰的网络日志
阮一峰的网络日志
T
The Exploit Database - CXSecurity.com
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
S
Secure Thoughts
博客园 - 司徒正美
Recorded Future
Recorded Future
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
K
Kaspersky official blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
AI
AI
博客园 - 聂微东
N
News and Events Feed by Topic
SecWiki News
SecWiki News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
Recent Commits to openclaw:main
Recent Commits to openclaw:main
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
W
WeLiveSecurity
博客园 - Franky

博客园 - 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.