Click here to Skip to main content
16,007,277 members
Home / Discussions / Design and Architecture
   

Design and Architecture

 
AnswerRe: OOP Programming, Two approachs for a problem Pin
PIEBALDconsult22-Mar-09 17:45
mvePIEBALDconsult22-Mar-09 17:45 
AnswerRe: OOP Programming, Two approachs for a problem Pin
Jonathan Davies23-Mar-09 3:13
Jonathan Davies23-Mar-09 3:13 
GeneralRe: OOP Programming, Two approachs for a problem Pin
Quake2Player23-Mar-09 6:53
Quake2Player23-Mar-09 6:53 
GeneralRe: OOP Programming, Two approachs for a problem Pin
Jonathan Davies23-Mar-09 8:25
Jonathan Davies23-Mar-09 8:25 
GeneralRe: OOP Programming, Two approachs for a problem Pin
Quake2Player23-Mar-09 8:42
Quake2Player23-Mar-09 8:42 
GeneralRe: OOP Programming, Two approachs for a problem Pin
led mike23-Mar-09 8:31
led mike23-Mar-09 8:31 
AnswerRe: OOP Programming, Two approachs for a problem Pin
Quake2Player24-Mar-09 7:31
Quake2Player24-Mar-09 7:31 
GeneralRe: OOP Programming, Two approachs for a problem Pin
Jonathan Davies24-Mar-09 8:51
Jonathan Davies24-Mar-09 8:51 
How should I DECIDE if I should encapsulate all the contacts classes and methods in lets say an AddressBook class?

Does the word ('AddressBook' in this case) come up often (preceded by 'the') when you talk or think about the design and how to do it? If so it's probably a good contender to be an object. Then, consider if you can come up with messages (methods) such as Set...., Get....., Do....., that you would use on this object to have it do things.

Should one class contain other classes?
Ask: "Does Class1 have a Class2 OR Is Class1 a type of Class2, if its the first one, Class 1 should contain Class2.

Consider your: List<messages>, what happens if near the end of your coding you decide to change to, say vector<messages> or String Messages[50]. If you've written a class CMessages with methods, say, GetMessage(...) and AddMessage(..) which encapsulate this, then it's no problem. If youve used list here there and everywhere in the code it can be a real problem to change them all.

a lot of inbetween methods?
Being able to call Application.AddLabelToMessage(...) is probably better than needing to use four or five lines to get one object, then another from that, then another from that and finally to call, say, MsgHeader.AddLabel. You don't want to bother low level objects like, say, MsgHeader objects at a high level. Just calling AddLableToMessage hides the complication that (may) be in the method from the caller. Encapsulation is all about hiding complication.

In the end, does it feel right? This may take experience but if it feels right, go for it.
Questioncomposite pattern serializing Pin
Jarno Burger20-Mar-09 13:18
Jarno Burger20-Mar-09 13:18 
AnswerRe: composite pattern serializing Pin
Jonathan Davies22-Mar-09 5:14
Jonathan Davies22-Mar-09 5:14 
QuestionObject Oriented Design - object graphs and lookup table data Pin
Leftyfarrell13-Mar-09 2:09
Leftyfarrell13-Mar-09 2:09 
AnswerRe: Object Oriented Design - object graphs and lookup table data Pin
led mike13-Mar-09 5:03
led mike13-Mar-09 5:03 
GeneralRe: Object Oriented Design - object graphs and lookup table data Pin
Leftyfarrell14-Mar-09 3:58
Leftyfarrell14-Mar-09 3:58 
QuestionEmpty abstract method override -- good or bad design? Pin
brontofuzik12-Mar-09 10:46
brontofuzik12-Mar-09 10:46 
AnswerRe: Empty abstract method override -- good or bad design? Pin
Luc Pattyn12-Mar-09 10:57
sitebuilderLuc Pattyn12-Mar-09 10:57 
AnswerRe: Empty abstract method override -- good or bad design? Pin
Mark Churchill12-Mar-09 14:39
Mark Churchill12-Mar-09 14:39 
GeneralRe: Empty abstract method override -- good or bad design? Pin
Luc Pattyn12-Mar-09 15:05
sitebuilderLuc Pattyn12-Mar-09 15:05 
GeneralRe: Empty abstract method override -- good or bad design? Pin
Mark Churchill12-Mar-09 15:14
Mark Churchill12-Mar-09 15:14 
QuestionTechnical Design vs. Implementation vs. Testing Pin
shakhtyor12-Mar-09 10:45
shakhtyor12-Mar-09 10:45 
AnswerRe: Technical Design vs. Implementation vs. Testing Pin
Perry Holman22-Apr-09 0:16
Perry Holman22-Apr-09 0:16 
AnswerRe: Technical Design vs. Implementation vs. Testing Pin
Robin_Roy23-Jul-09 16:38
Robin_Roy23-Jul-09 16:38 
QuestionLearning UML Pin
Brendan Vogt11-Mar-09 23:45
Brendan Vogt11-Mar-09 23:45 
AnswerRe: Learning UML Pin
User 171649212-Mar-09 0:17
professionalUser 171649212-Mar-09 0:17 
AnswerRe: Learning UML Pin
shakhtyor12-Mar-09 10:25
shakhtyor12-Mar-09 10:25 
QuestionUML Software Pin
Brendan Vogt10-Mar-09 21:08
Brendan Vogt10-Mar-09 21:08 

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.