Click here to Skip to main content
16,006,341 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: Consultant/Principal/Senior Software Engineer Pin
Paul Conrad25-Jul-09 19:26
professionalPaul Conrad25-Jul-09 19:26 
GeneralRe: Consultant/Principal/Senior Software Engineer Pin
Pete O'Hanlon29-Jul-09 9:11
mvePete O'Hanlon29-Jul-09 9:11 
GeneralRe: Consultant/Principal/Senior Software Engineer Pin
Paul Conrad29-Jul-09 12:39
professionalPaul Conrad29-Jul-09 12:39 
AnswerRe: Consultant/Principal/Senior Software Engineer Pin
Eddy Vluggen16-Jul-09 2:27
professionalEddy Vluggen16-Jul-09 2:27 
QuestionIs this an existing pattern Pin
sadavoya15-Jul-09 7:30
sadavoya15-Jul-09 7:30 
AnswerRe: Is this an existing pattern Pin
CodingYoshi15-Jul-09 17:27
CodingYoshi15-Jul-09 17:27 
GeneralRe: Is this an existing pattern Pin
sadavoya17-Jul-09 5:31
sadavoya17-Jul-09 5:31 
QuestionDTO design supporting multiple tables Pin
Leftyfarrell15-Jul-09 6:10
Leftyfarrell15-Jul-09 6:10 
I'm looking for some feedback on the best/alternate ways to handle the following scenario:

Widget (defines the pool from which to create widgets)
========
Id
UserControlPath

DefaultWidget (provides a set of default properties for a widget instance)
==========
Id
WidgetId
Name

UserWidget (defines a widget with properties customized by the user)
===========
Id
WidgetId
DefaultWidgetId
Name

Given the 3 database tables above, how would you create a DTO object? I could have a class per table, but then I have to do additional queries or work with additional objects for all the data I need. I could use nested object (UserWidget has Widget.UserControlPath property). I could flatten out the UserWidget to have those properties plus a UserControlPath property.

When loading a UserWidget, I cannot display it without the UserControlPath value.
When saving updates to the properties of a UserWidget, the UserControlPath is read only - but WCF data contracts do not support the idea of read-only properties(As far as I know). Saving full object graphs can quickly become complex.

How do you model similar relationships?
Thx.
AnswerRe: DTO design supporting multiple tables Pin
CodingYoshi15-Jul-09 17:33
CodingYoshi15-Jul-09 17:33 
QuestionRe: DTO design supporting multiple tables Pin
Leftyfarrell16-Jul-09 1:51
Leftyfarrell16-Jul-09 1:51 
AnswerRe: DTO design supporting multiple tables Pin
CodingYoshi16-Jul-09 3:24
CodingYoshi16-Jul-09 3:24 
GeneralRe: DTO design supporting multiple tables Pin
Leftyfarrell16-Jul-09 3:58
Leftyfarrell16-Jul-09 3:58 
GeneralRe: DTO design supporting multiple tables Pin
CodingYoshi16-Jul-09 8:05
CodingYoshi16-Jul-09 8:05 
GeneralRe: DTO design supporting multiple tables Pin
Leftyfarrell16-Jul-09 9:56
Leftyfarrell16-Jul-09 9:56 
GeneralRe: DTO design supporting multiple tables Pin
CodingYoshi16-Jul-09 17:13
CodingYoshi16-Jul-09 17:13 
QuestionOODB or RDB for checkbook/budget program? Pin
copec10-Jul-09 17:15
copec10-Jul-09 17:15 
AnswerRe: OODB or RDB for checkbook/budget program? Pin
riced11-Jul-09 10:06
riced11-Jul-09 10:06 
GeneralRe: OODB or RDB for checkbook/budget program? [modified] Pin
copec11-Jul-09 11:25
copec11-Jul-09 11:25 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
riced12-Jul-09 2:12
riced12-Jul-09 2:12 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
copec12-Jul-09 7:08
copec12-Jul-09 7:08 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
riced12-Jul-09 21:07
riced12-Jul-09 21:07 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
copec14-Jul-09 11:15
copec14-Jul-09 11:15 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
riced14-Jul-09 20:55
riced14-Jul-09 20:55 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
copec15-Jul-09 3:49
copec15-Jul-09 3:49 
GeneralRe: OODB or RDB for checkbook/budget program? Pin
riced15-Jul-09 5:20
riced15-Jul-09 5:20 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.