Note that there are some explanatory texts on larger screens.

plurals
  1. POWPF/Silverlight enterprise application architecture.. what do you do?
    primarykey
    data
    text
    <p>I've been wondering what lives in the community for quite some time now; I'm talking about big, business-oriented WPF/Silverlight enterprise applications.</p> <p>Theoretically, there are different models at play:</p> <ul> <li>Data Model (typically, linked to your db tables, Edmx/NHibarnate/.. mapped entities)</li> <li>Business Model (classes containing actual business logic)</li> <li>Transfer Model (classes (dto's) exposed to the outside world/client)</li> <li>View Model (classes to which your actual views bind)</li> </ul> <p>It's crystal clear that this separation has it's obvious advantages; But does it work in real life? Is it a maintenance nightmare?</p> <p>So what do you do? In practice, do you use different class models for all of these models? I've seen a lot of variations on this, for instance:</p> <ul> <li>Data Model = Business Model: Data Model implemented code first (as POCO's), and used as business model with business logic on it as well</li> <li>Business Model = Transfer Model = View Model: the business model is exposed as such to the client; No mapping to DTO's, .. takes place. The view binds directly to this Business Model</li> <li>Silverlight RIA Services, out of the box, with Data Model exposed: Data Model = Business Model = Transfer Model. And sometimes even Transfer Model = View Model.</li> <li>..</li> </ul> <p>I know that the "it depends" answer is in place here; But on what does it depend then; Which approaches have you used, and how do you look back on it?</p> <p>Thanks for sharing,</p> <p>Regards, Koen</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload