外观模式是比较简单的模式。它的目的也是为了简单。什么意思呢?举个例子吧。以前,我们逛街的时候吃要到小吃一条街,购物要到购物一条街,看书、看电影要到文化一条街。那么有没有这样的地方,既可以吃喝玩乐,同时相互又靠得比较近呢。其实,这就是悠闲广场,遍布全国的万达广场就是干了这么一件事。
首先,我们原来是怎么做的。
- 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");
- }
- 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();
- }
本文通过一个生动的例子介绍了软件设计中的外观模式。外观模式通过提供一个统一的接口来简化多个子系统的使用,使得客户端能够更方便地调用这些子系统。文章以逛广场为例,将复杂的各个街区(如小吃街、购物街等)的功能整合到一个广场中,形象地展示了如何利用外观模式简化原本繁琐的操作。
284

被折叠的 条评论
为什么被折叠?



