Click here to Skip to main content
15,899,474 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
GeneralRe: POP3 Components Pin
phil.o28-Jan-11 4:06
professionalphil.o28-Jan-11 4:06 
AnswerRe: POP3 Components Pin
Hans Dietrich4-Feb-11 12:00
mentorHans Dietrich4-Feb-11 12:00 
AnswerRe: POP3 Components Pin
Jammer13-Feb-11 23:56
Jammer13-Feb-11 23:56 
GeneralRe: POP3 Components Pin
phil.o14-Feb-11 0:10
professionalphil.o14-Feb-11 0:10 
QuestionOO design: Copying data from class A to B Pin
Nilzor25-Jan-11 23:05
Nilzor25-Jan-11 23:05 
AnswerRe: OO design: Copying data from class A to B Pin
venomation26-Jan-11 1:03
venomation26-Jan-11 1:03 
GeneralRe: OO design: Copying data from class A to B Pin
Nilzor26-Jan-11 1:14
Nilzor26-Jan-11 1:14 
GeneralRe: OO design: Copying data from class A to B Pin
Keld Ølykke26-Feb-11 14:12
Keld Ølykke26-Feb-11 14:12 
In your concrete example, I would let the ViewModel have a reference to the Model.
In this way, you hint that the ViewModel is in sync with the Model and you don't have to duplicate data.

If you consider DateTime strictly as a presentation data type, the data model should NOT know about it. Hence, you need to put DataTime operations outside the data model e.g. in ViewModel or a data type converter.


To illustrate this cut, imagine that you MUST put your model code into 1 library and MUST put view model code into another library. Furthermore, the view model MUST know the data model, but the data model SHOULD NOT know the view model.
This is the classic MVC pattern: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller[^]


With all that background info, either or both of the following conversion services would work:
<br />
Model model = new Model();<br />
model.Timestamp = "0227011";<br />
DateTime timestamp = model.Timestamp; // model implementation converts it and DateTime is a model data type<br />
<br />
ViewModel viewModel = ViewModel(model);<br />
DateTime timestamp = viewModel.Timestamp; // presentation implementation converts it and DateTime is a presentation type<br />


Hope it makes some sense!
GeneralRe: OO design: Copying data from class A to B Pin
Nilzor27-Feb-11 22:39
Nilzor27-Feb-11 22:39 
GeneralRe: OO design: Copying data from class A to B Pin
Keld Ølykke28-Feb-11 10:24
Keld Ølykke28-Feb-11 10:24 
AnswerRe: OO design: Copying data from class A to B Pin
Eddy Vluggen26-Jan-11 8:07
professionalEddy Vluggen26-Jan-11 8:07 
GeneralRe: OO design: Copying data from class A to B Pin
Nilzor26-Jan-11 21:02
Nilzor26-Jan-11 21:02 
AnswerRe: OO design: Copying data from class A to B Pin
Ian Shlasko26-Jan-11 10:03
Ian Shlasko26-Jan-11 10:03 
AnswerRe: OO design: Copying data from class A to B Pin
Pete O'Hanlon26-Jan-11 22:41
mvePete O'Hanlon26-Jan-11 22:41 
AnswerRe: OO design: Copying data from class A to B Pin
GParkings2-Sep-11 2:30
GParkings2-Sep-11 2:30 
GeneralRe: OO design: Copying data from class A to B Pin
Nilzor2-Sep-11 3:27
Nilzor2-Sep-11 3:27 
GeneralRe: OO design: Copying data from class A to B Pin
GParkings2-Sep-11 4:16
GParkings2-Sep-11 4:16 
QuestionDifference between Generalization, Abstraction, Encapsulation? Pin
variantseeker19-Jan-11 15:58
variantseeker19-Jan-11 15:58 
AnswerRe: Difference between Generalization, Abstraction, Encapsulation? Pin
Praveen Raghuvanshi19-Jan-11 22:23
professionalPraveen Raghuvanshi19-Jan-11 22:23 
GeneralRe: Difference between Generalization, Abstraction, Encapsulation? Pin
Pravin Patil, Mumbai26-Jan-11 3:39
Pravin Patil, Mumbai26-Jan-11 3:39 
GeneralRe: Difference between Generalization, Abstraction, Encapsulation? Pin
Praveen Raghuvanshi26-Jan-11 5:01
professionalPraveen Raghuvanshi26-Jan-11 5:01 
QuestionHow to package the Factory into separate component assembly? Pin
Chesnokov Yuriy17-Jan-11 20:26
professionalChesnokov Yuriy17-Jan-11 20:26 
AnswerRe: How to package the Factory into separate component assembly? Pin
dasblinkenlight18-Jan-11 4:21
dasblinkenlight18-Jan-11 4:21 
QuestionVoting Functionality -- Incoming Traffic Pin
Civic0614-Jan-11 4:58
Civic0614-Jan-11 4:58 
AnswerRe: Voting Functionality -- Incoming Traffic Pin
Ray Cassick14-Jan-11 5:49
Ray Cassick14-Jan-11 5:49 

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.