Facade pronounces /f2'sa:d/
"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."
------ GoF
intent: You want to simplify now to use an existing system. You need to define your
own interfaces.
problem: You need to use only a subset of a complex system. Or you need to inte-
act with teh system in a particular way.
This approach only works when using a subset of the system's capability or when
interacting with it in a particular way. (It seems that we do always only need the
subset of a given system.)
Variations on Facade:
1 reduce the number of objects a client must work with
2 supplement existing functions with new routines. In addition to using functions
that are in the system, I also need to provide some new functionality.
3 encapsulating layer
Track system usage
Swap out systems.
The facade is worthy when
the cost of writing this new class is less than the cost of everybody learning how
to use the original system or is less than you would spend on maintenance in the
future.
博客介绍了Facade模式,它为子系统的一组接口提供统一接口,使子系统更易用。当只需使用复杂系统的子集或特定交互时适用。还提及了Facade模式的变体,如减少客户端交互对象、补充新功能、封装层等,且当编写新类成本低于学习原系统或未来维护成本时值得使用。
904

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



