Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Introduction

The following software design principles are well agreed to at Pentaho. Understand these and keep them in-mind as you develop software with Pentaho

  1. DRY (Don't Repeat Yourself)
    http://en.wikipedia.org/wiki/Don%27t_repeat_yourself
  2. Separation of Concerns
    http://en.wikipedia.org/wiki/Separation_of_concerns
  3. Encapsulation
    http://en.wikipedia.org/wiki/Encapsulation_(object-oriented_programming)
  4. Dependency Abstraction through Interfaces
    Dependencies between classes should be through interfaces not classes.
  5. SOLID
    http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
    1. Single Responsibility
      http://en.wikipedia.org/wiki/Single_responsibility_principle
    2. Open/Closed
      http://en.wikipedia.org/wiki/Open/closed_principle
    3. Liskov Substitution
      http://en.wikipedia.org/wiki/Liskov_substitution_principle
    4. Interface Segregation
      http://en.wikipedia.org/wiki/Interface_segregation_principle
    5. Dependency Inversion - a superset of (Service Locator, Factory, Dependency Injection)
      http://en.wikipedia.org/wiki/Dependency_inversion_principle
  • No labels