Design Patterns & Principles - prkirankumar/interview-preparation GitHub Wiki

  1. Explain Liskov Substitution Principle (LSP) with an real time example in context of your projects?

  2. Explain Dependency Inversion, Inversion of Control (IoC), Dependency Injection?

  3. Explain differences between an interface and an abstract class?

    • An Interface talks about requirement specification(s) where as an Abstract class talks about implementation but not completely (partial implementation).
    • An interface is a set of operations (methods) that given object can perform
      • also called contract for supplying a set of operations.
      • define abstract behavior
  4. Explain the difference among design patterns, architecture patterns and architectural style.

  5. Explain the three different categories of GOF design patterns.

  6. Why Singleton pattern is called Anti-pattern?