What is the BEST way to design a system so that it may easily switch between multiple providers and add new providers as required, while keeping the complexity low?

Each credit card service provider has its own interface that all client programs must use. What is
the BEST way to design a system so that it may easily switch between multiple providers and add
new providers as required, while keeping the complexity low?

Each credit card service provider has its own interface that all client programs must use. What is
the BEST way to design a system so that it may easily switch between multiple providers and add
new providers as required, while keeping the complexity low?

A.
Create an ordered collection of credit card service providers and have each try to handle the
service requests from the business objects. If one cannot handle the request it passes the request
to the next one until it is eventually handled or discarded.

B.
Create an object with a common API for business objects to use. This object covers all credit
card providers and routes requests from the business objects to the adaptor object of the
designated credit card service provider, which handles the interface conversions.

C.
Have the business objects communicate directly to the service providers using each service
provider’s API.

D.
Maintain a global pool of credit card service requests from the business objects. Each credit
card service goes through the pool to find and claim the requests that it can handle. It then
processes each request.



Leave a Reply 0

Your email address will not be published. Required fields are marked *