Model – state of things

Service – access to the state

Data-Contracts – how the state is presented to clients

Proxy – how a remote client deals with the service; the representation of service operations in another programming environment

View-Model – all sort of additional goodies to make the state and proxy behave reactively and transparently to the UI (lots of data wrappers, state-change notifications and command/selection driven service operations).

User-Interface – template driven from the view-model

I’ll admit it isn’t as succinct as pithy initialisms such as MVC or MVVM, but it is more accurate for what I do.  It is generally bi-directional as well.

  1. Model expressed through services as contracts are accessible through proxies as view-models (and contracts) that are projected into user interface.
  2. User-interface is manipulated to affect view-models that use proxies to invoke service operations (typically with data contracts as parameters) that alter model state.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s