Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>If you are looking for object-relational mapping models you can look into:</strong></p> <ul> <li><a href="http://en.wikipedia.org/wiki/NHibernate" rel="nofollow noreferrer">NHibernate</a></li> <li><a href="http://en.wikipedia.org/wiki/LLBLGen" rel="nofollow noreferrer">LLBLGen</a></li> <li><a href="http://en.wikipedia.org/wiki/IBATIS" rel="nofollow noreferrer">iBATIS</a></li> </ul> <p>There's also a longer list here: <a href="http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET" rel="nofollow noreferrer">http://en.wikipedia.org/wiki/List_of_object-relational_mapping_software#.NET</a></p> <p><strong>As for the general question of how to design an object model for persistence,</strong> much of the design choice depends on the complexity of the system, the extensibility you require, whether you need to support multiple persistence stores (SQLServer, Oracle, file system, etc), and so on. The pattern you describe looks like a <a href="http://msdn.microsoft.com/en-us/library/ms978717.aspx" rel="nofollow noreferrer">DataTansferObject (DTO)</a>. It's a common design for separating persistence logic from business logic.</p> <p><strong>As an aside, a general principle of good system design is the <a href="http://en.wikipedia.org/wiki/Single_responsibility_principle" rel="nofollow noreferrer">single responsibility principle</a>.</strong> When building a system, you have to decide whether it makes sense to combine different responsibilities into a single class. Combining responsibilities can often complicate a system and create design conflicts that are difficult to resolve.</p>
    singulars
    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.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      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