每个Facade都应该作为Singleton实现吗?

时间:2013-10-02 07:57:28

标签: oop architecture singleton design-patterns

在Facade和Singleton的描述中,你可以读到:“Facade通常被实现为单身”。

我想知道什么时候应该将Facade实现为单身,什么时候这是个坏主意。

1 个答案:

答案 0 :(得分:4)

没有。它通常是因为更容易调用而实现,但它有一些缺点(从this answer添加):

  1. 代码耦合
  2. 默认情况下为非并发安全
  3. 不可测试
  4. 链接中的一个好(坏)点是,它承载整个应用程序的生命周期,因此它永远不会被处理掉。如果来自呼叫者无法控制,那可能会很糟糕。

    特别适用于框架组件。