Principle

  • Separation of Concerns

    A key principle of software development and architecture is the notion of separation of concerns.  At a low level, this principle is closely related to the Single Responsibility Principle of … Read more

  • Once and Only Once

    The Once and Only Once principle can be thought of as a subset of the Don't Repeat Yourself principle, and is one of the most fundamental principles of software development.  Once and Only Once … Read more

  • SOLID

    The SOLID principles of Object Oriented Design include these five principles:

    SRP - Single Responsibility Principle

    OCP - Open/Closed Principle

    LSP - Liskov Substitution Principle

    ISP - Interface … Read more

  • Don't Repeat Yourself

    The Don't Repeat Yourself (DRY) principle states that duplication in logic should be eliminated via abstraction; duplication in process should be eliminated via automation.

    Duplication is Waste … Read more

  • Dependency Inversion Principle

    The Dependency Inversion Principle (DIP) states that abstractions should not depend on details.  Details should depend upon abstractions. Read more

  • Interface Segregation Principle

    The Interface Segregation Principle (ISP) states that clients should not be forced to depend on methods that they do not use.  Interfaces belong to clients, not to libraries or hierarchies. Read more

  • Open-Closed Principle

    The Open-Closed Principle (OCP) states that software entities (classes, modules, methods, etc.) should be open for extension, but closed for modification Read more