Object oriented Design

OO Concepts
– Object model (abstraction, encapsulation, modularity, hierarchy); data abstraction; inheritance; polymorphism; interfaces

• OO Design Principles
– Encapsulate what varies; favour composition over inheritance;
program to interfaces, not implementations; …

• OO Design Patterns:
– Show how to build systems with good OO design qualities (reusable; extensible; maintainable)

Why OOD Principles and Patterns
• Software development specifications keep changing constantly
– Your software solves real life problems and processes in real life (and your knowledge) evolve
• This is in particular true in the business world
– Your software need to be smart enough to cope
• Easy to maintain (by applying changes with minimal effort)
• Easy to extend (without changing existing code)

你可能感兴趣的:(java,OOP,OOD)