为复杂子系统提供统一的简化接口
为其他对象提供一种代理以控制对这个对象的访问
动态地为对象添加额外职责,比继承更灵活
将不兼容的接口转换为兼容的接口,实现系统间的协同工作
通过复制现有对象来创建新对象,避免重复的初始化操作
分步骤构建复杂对象,使构建过程更加灵活清晰