Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Let the view consume the definition and populate itself from it.
  • Have the view create and own the presenter as well as interact with it directly without additional interfaces.
  • Compose the UI at the view level.
  • Never let presenters interact with each other.
  • Let the views manage the lifecycle of their children as well as create and destroy them deliberately.
  • Have the views share configuration and resources among themselves without coding overhead.
  • Assign each view its own component provider bound to the view's UI key.
  • Associate each view with a storage space in an HTTP session where the view state can be kept.
  • Provide convenient means for managing and sharing the view state (also known as view contexts).

Example:

WorkbenchView takes a definition, directly configures itself and passes content view definitions to the content views. The content views take on to ContentView, which takes care of its own presenters. There is no need to involve the workbench in this. The main reason why this separation is now possible is that, instead of manual state synchronization, we can do it through special tools based on session, scoping and IoC.

...