Facade(外观)是一个类或一组类,用于将内部实现/服务隐藏起来,使用户无法看到。 抽象工厂(Abstract Factory)封装了一组用于创建对象的工厂,而Facade可以用于提供对各种操作(不仅仅是创建)的抽象。
它们是用于解决两个不同问题的两种模式,并且它们完全无关。 使用 抽象工厂模式,你只需要为同一事物的许多不同构建器提供一个常见的工厂构造器。每当你需要为一组构建器提供接口以用于某个共同的事物(产品),而不必担心要构建什么或者将要使用哪个工厂时,可以使用该模式。 外观模式 相反,用于为许多不同操作提供简单的接口,客户端类不应该看到这些操作。