Design Patterns in ActionScript–Facade

Have you ever heard Xerox PARC (Palo Alto Research Center, @see http://en.wikipedia.org/wiki/PARC_(company) )? This research center has many great innovations. GUI (Graphical User Interface) is one of them.


 

The history of GUI is an interesting story. After the PARC invent the GUI, they didn’t put this into business immediately. Sometimes later, a young man visited this center, and was shocked by the great innovations including the GUI. When the young man backed to his company, he put those ideas into their product, Macintosh, the first commercially successful product using GUI. And the young man, the CEO of that fruit company, began his legend in Silicon Valley.

 

OK, let’s turn to our topic today. Have you ever think about something under the GUI? Such as, when you click a button, how the computer will do? I mean the way, not the result. For example, when you click “open”, maybe it will show you a file chooser dialog. The file chooser dialog is the result, and the way to get the result maybe very complex. I think this is the great of GUI, you needn’t know the way, and you just need to know the result. All the details were covered by the system.

This situation was very common in our daily life. When you drive your car, you just put your foot on the accelerator pedal. Of course, you don’t know the details how the cat started, except you’ve ever studied it.

There is a pattern corresponding to these situations. It was called Façade.

Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.

– By THE GOF BOOK

 

In the car example, you don’t know the inner structure of the car. And the car supplies you a higher-level interface, the accelerator pedal. Let’s mimic this example.

In order to make it easier to understand, we will only use three classes to illustrate this example, the Car, CarEngine and CarWheel.

You can see the diagram below.

clip_image002

< click to see oraginal image file>

Also, it can be described as blew.

clip_image004

< click to see oraginal image file>

From the client side, the car is a subsystem. And the client doesn’t need to know the internal structure of the car. All he need is the high-level interfaces.

You can see the source code for more information(download Download Full Project ).

As you see, this pattern is mainly use for reduce the complex of the subsystem, when you want to use some function provide by a subsystem. You don’t need to know the details about the subsystem, if you use this pattern. You just need to know the interfaces. It’s very helpful when you cooperate with others.

Enjoy!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值