How does the Observer pattern differ from the Pub-Sub pattern?
- The Observer pattern involves a one-to-many relationship between objects, where one object (the subject) maintains a list of its dependents (observers) and notifies them of any changes, while the Pub-Sub pattern involves the publish and subscribe mechanism, where the publisher does not know the subscribers and the subscribers do not know the publishers.
- The Observer pattern involves the publish and subscribe mechanism, where the publisher does not know the subscribers and the subscribers do not know the publishers, while the Pub-Sub pattern involves a one-to-many relationship between objects, where one object (the subject) maintains a list of its dependents (observers) and notifies them of any changes.
- The Observer pattern is a type of the Pub-Sub pattern.
- The Pub-Sub pattern is a type of the Observer pattern.
The Observer pattern involves a one-to-many relationship between objects, where one object (the subject) maintains a list of its dependents (observers) and notifies them of any changes, while the Pub-Sub pattern involves the publish and subscribe mechanism, where the publisher does not know the subscribers and the subscribers do not know the publishers.
What is Iterator pattern?
- A design pattern that allows the client to traverse a collection of objects, without exposing the underlying representation of the collection
- A design pattern that converts a request into a standalone object, allowing the client to parametrize objects with different requests, queue a request, or log requests
- A design pattern that provides a simplified interface to a complex system, allowing the client to interact with the system through a single, unified interface
- A design pattern that uses shared objects to support large numbers of similar objects efficiently
Iterator pattern is a design pattern that allows the client to traverse a collection of objects, without exposing the underlying representation of the collection. The pattern involves creating an iterator class that implements the iterator interface, and provides a way for the client to access the elements of the collection one at a time, in a standardized manner. This pattern can be useful in situations where you want to provide a standard way for the client to access the elements of a collection, without exposing the internal representation of the collection.
What is the Builder pattern used for?
- To allow multiple objects to communicate with each other
- To create a reusable object-oriented design
- To create complex objects step by step, using a builder object to abstract the process of creating the object from the client code
- To provide a common interface for a group of related classes
The Builder pattern is used for creating complex objects step by step, using a builder object to abstract the process of creating the object from the client code
What is Dependency Injection?
- A mechanism for managing dependencies between software components, such as libraries or services, that are required to run an application.
- A method of testing in which dependencies are replaced with mock objects to isolate the test subject from the rest of the system.
- A software design pattern in which objects are passed their dependencies, rather than being responsible for creating or finding them. This improves the flexibility and maintainability of the code by allowing dependencies to be swapped out or updated without affecting the objects that use them.
- A technique for structuring software components into a tree-like hierarchy to organize dependencies and reduce coupling between components.
Dependency Injection is a design pattern that allows an object to be decoupled from its dependencies. Instead of an object creating or finding its own dependencies, they are passed to it from the outside. This improves the flexibility and maintainability of the code by allowing dependencies to be swapped out or updated without affecting the objects that use them.
What is the difference between the Decorator and Proxy patterns?
- None of the above
- The Decorator and Proxy patterns are the same
- The Decorator pattern adds behavior to an object dynamically, while the Proxy pattern provides a substitute for an object to control access to it
- The Decorator pattern provides a substitute for an object to control access to it, while the Proxy pattern adds behavior to an object dynamically
The Decorator pattern adds behavior to an object dynamically, while the Proxy pattern provides a substitute for an object to control access to it
What is Proxy pattern?
- A design pattern that allows objects to represent or act on behalf of other objects, providing a level of indirection between the client and the target object
- A design pattern that creates objects by cloning existing objects, rather than creating new instances from scratch
- A design pattern that provides a simplified interface to a complex system, allowing the client to interact with the system through a single, unified interface
- A design pattern that uses shared objects to support large numbers of similar objects efficiently
Proxy pattern is a design pattern that allows objects to represent or act on behalf of other objects, providing a level of indirection between the client and the target object. The pattern involves creating a proxy class that acts as an intermediary between the client and the target object. This pattern can be useful in situations where you want to add additional functionality or control access to an object, without affecting the behavior of the target object.
What is Composite Entity pattern?
- A design pattern that promotes loose coupling by keeping the presentation layer separate from the business layer
- A design pattern that provides a simplified interface to a set of services
- A design pattern that separates the business logic and presentation logic in an application
- A design pattern used to represent entities that have a tree structure
Composite Entity pattern is used to represent entities that have a tree structure, such as an organizational chart.
What is Memento pattern?
- A design pattern that allows the client to traverse a collection of objects, without exposing the underlying representation of the collection
- A design pattern that captures the internal state of an object, allowing the object to be restored to this state later
- A design pattern that converts a request into a standalone object, allowing the client to parametrize objects with different requests, queue a request, or log requests
- A design pattern that provides a simplified interface to a complex system, allowing the client to interact with the system through a single, unified interface
The Memento pattern is a design pattern that captures the internal state of an object, allowing the object to be restored to this state later. The Memento pattern is used to capture and store the internal state of an object so that it can be restored at a later time, without violating the object's encapsulation. The Memento pattern is used to implement undo/redo functionality in applications.
What is the purpose of the Null Object pattern?
- To encapsulate complex operations and make them simple to use
- To handle requests or operations from clients
- To provide a substitute for a null reference
- To separate the representation of an object from its behavior
The Null Object pattern provides an object as a substitute for a null reference, avoiding the need for checking for null values.
What is Business Delegate pattern?
- A design pattern that promotes loose coupling by keeping the presentation layer separate from the business layer
- A design pattern that provides a simplified interface to a set of services
- A design pattern that reduces the coupling between presentation-tier clients and business services
- A design pattern that separates the business logic and presentation logic in an application
Business Delegate pattern provides a simplified interface to a set of services to reduce the coupling between presentation-tier clients and business services.