Sunday 12 January 2014

OOP Design - Fundamentals and Principles - Preface

How to achieve effective design?
  1. Follow OOP (object oriented programming) fundamentals
  2. Avoid bad design characteristics (code smell)
  3. Embrace Design Principles
    • Class Design - SOLID & GRASP
    • Package Design
  4. Consider Design Patterns and Anti-patterns
In next series of articles,

I would explain below topics along with example java code.
  • OOP Fundamentals [Part-1]
  • Class design principles - SOLID [Part-2] & GRASP [Part-3 - coming soon]
  • Package design principles [Part-4 - coming soon]
      Note: This series is focused to cover OOP fundamentals and design principles. Design patterns and anti-patterns are not included as part of this series; instead I shall cover those separately

      A bird's-eye view of OOP fundamentals and design principles


      Design Principles vs. Design Patterns?

      • Design Principle – A set of guidelines that helps us to avoid having a bad design.
      • Design Pattern
        • Emphasize on principles to assign responsibilities.
        • General reusable solution for a problem.
        • Shows relationships and interactions between classes or object.
      • Example
        • Principle – Dependency Inversion Principle
        • Pattern – Factory, Abstract Factory (Object Creational)
        • Popular frameworks – Spring IoC, Guice, JavaEE CDI, etc.

      No comments:

      Post a Comment