一、外观类。不管内部细节如何复杂,只是提供“消费者”需要的界面。任何类都是外观类,外观类是相对来说的。
二、外观类的具体实现类。有些实现提供的界面是超越外观类的,但是在系统中还是用基本的界面。
三、创建工厂。这一类是最易于修改的。就是负责创建系统需要的具体实现类。创建工厂知道具体实现类的使用细节,负责配置。创建类被主流程所使用。