mercredi 12 avril 2017

Facade with two services inside - design pattern

I want to create Facade class to handle few operations on two services. For contacting those services I've got proxy classes.

Having abstract Proxy and derived proxy per service - how can I create this part of architecture, to avoid Resolving in Facade?

class Facade
{
    private Proxy proxy1;
    private Proxy proxy2;

    public Facade()
    {
        //I don't like this part
        proxy1 = ...Resolve<Proxy1Type>();
        proxy2 = ...Resolve<Proxy2Type>();
    }


    public void Do()
    {
        proxy1.Call();
        proxy2.Call();
    }
}

    abstract class Proxy {public void Call();}
    class Proxy1Type : Proxy {public void override Call(){}}
    class Proxy2Type : Proxy {public void override Call(){}}

What design pattern should I use to fix this case?

Aucun commentaire:

Enregistrer un commentaire