C语言和设计模式(外观模式)

文章目录

一句话总结

我们在使用visual studio进行编译C++代码时,你只是在菜单中选择了Build,然后visual studio就开始了一堆的编译工作。外观模式就是把要做的很多事情分离开来、最后组合成一件事情。

举例

 外观模式是比较简单的模式。它的目的也是为了简单。什么意思呢?举个例子吧。以前,我们逛街的时候吃要到小吃一条街,购物要到购物一条街,看书、看电影要到文化一条街。那么有没有这样的地方,既可以吃喝玩乐,同时相互又靠得比较近呢。其实,这就是悠闲广场,遍布全国的万达广场就是干了这么一件事。
 首先,我们原来是怎么做的

typedef struct _FoodSteet
{
    void (*eat)();
}FoodStreet;    
 
void eat()
{
    printf("eat here!\n");
}
 
typedef struct _ShopStreet
{
    void (*buy)();
}ShopStreet;
 
void buy()
{
    printf("buy here!\n");
}
 
typedef struct _BookStreet
{
    void (*read)();
}BookStreet;
 
void read()
{
    printf("read here");
}

下面,我们就要在一个plaza里面完成所有的项目,怎么办呢?

typedef struct _Plaza
{
    FoodStreet* pFoodStreet;
    ShopStreet* pShopStreet;
    BookStreet* pBookStreet;
 
    void (*play)(struct _Plaza* pPlaza); 
}Plaza;
 
void play(struct _Plaza* pPlaza)
{
    assert(NULL != pPlaza);
 
    pPlaza->pFoodStreet->eat();
    pPlaza->pShopStreet->buy();
    pPlaza->pBookStreet->read();
}
发布了297 篇原创文章 · 获赞 6 · 访问量 8483

猜你喜欢

转载自blog.csdn.net/qq_23929673/article/details/103549584