Fasade

Fasade
Fasade模式提供一个简单接口,调用复杂的子系统接口。


#include  < iostream >

using   namespace  std;


class  Printer
{
public:
    
void Print() {cout<<"Print"<<endl;}
}
;

class  Typer
{
public:
    
void Type() {cout<<"Type"<<endl;}
}
;

class  Writer
{
public:
    
void Write() {cout<<"Write"<<endl;}
}
;

// Fasade
class  Fasade
{
public:
    Fasade(Printer
* p, Typer* t, Writer* w)
        :pp(p),pt(t),pw(w)
{}
    
~Fasade()
    
{
        delete pp;
        delete pt;
        delete pw;
    }

    
//提供一个一致接口
    void Work() 
    
{
        pp
->Print();
        pt
->Type();
        pw
->Write();
    }

private:
    Printer
*    pp;
    Typer
*        pt;
    Writer
*        pw;
}
;

int  main()
{
    Fasade 
*pf = new Fasade(new Printer, new Typer, new Writer);
    pf
->Work();
    delete pf;

    
return 0;
}

你可能感兴趣的:(Fasade)