This page is meant to answer frequently asked questions regarding object oriented design principles, design patterns, refactoring etc.
- Where on the net do I find information on OO design?
- See OoDesignLinks
- What are good books on object oriented design?
- See OoDesignBooks
- How do I come up with a design?
- See HowToDesign
- Why should I use accessor methods (getters/setters)?
- See AccessorMethods
- What is the definition (differences) of the following terms:
- BusinessObject (aka DomainObject)
- ValueObject
- DataTransferObject
- DataAccessObject
- ImmutableObject
- What is the difference between Association, Aggregation and Composition?
- AssociationVsAggregationVsComposition
- When should I use an interface, when an abstract class?
- InterfaceVsAbstractClass
Questions from IBM Sample Test
- Which of the following are recommended when developing an OO system?
See also DesignPatternFaq and OoPatternsUmlRefactoringFaq
CategoryFaq