Question

    Which design pattern is most suitable for controlling

    access to a resource by limiting the number of clients that can use it concurrently?
    A Singleton Pattern Correct Answer Incorrect Answer
    B Factory Pattern Correct Answer Incorrect Answer
    C Proxy Pattern Correct Answer Incorrect Answer
    D Decorator Pattern Correct Answer Incorrect Answer
    E Flyweight Pattern Correct Answer Incorrect Answer

    Solution

    The Proxy Pattern is a structural design pattern used to control access to resources by acting as an intermediary or placeholder. It can implement restrictions like access control, caching, or logging. In the context of concurrency, the proxy ensures that only a limited number of clients access a resource at a time. For example, a proxy server can manage a pool of database connections, granting access to clients based on availability. This pattern reduces resource contention and improves system scalability and security. By isolating the resource, the Proxy Pattern adds flexibility and control over its usage. Why Other Options Are Incorrect :

    1. Singleton Pattern : Ensures a single instance of a class but does not control concurrent access.
    2. Factory Pattern : Focuses on object creation, unrelated to access control.
    3. Decorator Pattern : Enhances object functionality dynamically but does not manage access.
    4. Flyweight Pattern : Shares objects to save memory, not for controlling resource access.

    Practice Next