Question

    Which of the following design patterns violates the Open/Closed Principle of SOLID principles in object-oriented design? 

    A Strategy Pattern Correct Answer Incorrect Answer
    B Singleton Pattern Correct Answer Incorrect Answer
    C Factory Method Pattern Correct Answer Incorrect Answer
    D Decorator Pattern Correct Answer Incorrect Answer
    E Adapter Pattern Correct Answer Incorrect Answer

    Solution

    The Singleton pattern violates the Open/Closed Principle of SOLID, which states that software entities (classes, modules, functions) should be open for extension but closed for modification. The Singleton pattern is designed to restrict the instantiation of a class to a single object. To achieve this, the class is tightly coupled to its own instance management logic, which means modifying or extending this behavior requires changes to the original class. As a result, Singleton classes are not easily extensible without modification, making them contrary to the Open/Closed Principle. Why Other Options are Incorrect: A) Strategy Pattern: The Strategy Pattern adheres to the Open/Closed Principle by allowing algorithms to be selected and applied at runtime without modifying existing code. C) Factory Method Pattern: This pattern promotes extensibility by allowing subclasses to alter the type of objects that will be created, without modifying the client code. D) Decorator Pattern: The Decorator Pattern is designed to extend functionality dynamically by wrapping objects, adhering to the Open/Closed Principle. E) Adapter Pattern: The Adapter Pattern allows for existing classes to be used without modification by adapting their interfaces to a new target interface, following the Open/Closed Principle.

    Practice Next

    Relevant for Exams: