In real world networking software following c/s model, there are always proxy server processes between clients and server processes dealing with business logic, why we need proxy to isolate the logic part and clients? What's the benifit of this architecture?

  • 1
    To abstract away the network? – user1249 Aug 25 '12 at 14:44

Clients became plugins to the business logic. The server offers an API and the clients use it. Clients can change and evolve and be swapped with other clients, the server and the business logic will never know or care about this.

Dependency is inverted, clients depend on server and server with it's business logic does not depend on the clients. A proxy, is a good way to offer an abstract interface, an API on which any client can rely.

Control still flows from business logic towards external clients.

Imagine Twitter, if it would not have implemented such a design, there would have been only one single (or only a few) clients to twitter and all would be dependent on the server and vice versa.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.