门面模式 Facade 也被称为正面模式, 外观模式, 这种模式用于将一组复杂的类包装到一个简单的外部接口中
1. Facade 模式可以应用于
1-1. 不需要使用一个复杂系统的所有功能, 而且可以创建一个新的类, 包含访问系统的所用规则. 如果只需要使用系统的部分功能, 那么为新类创建的 API 将比原有系统的 API 简单的多
1-2. 希望封装或者隐藏原系统
1-3. 希望使用原系统的功能, 而且还希望增加一些附件功能
2. 角色
2-1. 门面角色
这是门面模式的核心
它被客户角色调用, 因此它熟悉子系统的功能, 它内部根据客户角色已有的需求预定了几种功能组合
2-2. 子系统角色
实现了子系统的功能
对它而言, facade 角色就和客户角色一样是未知的, 它没有任何 facade 角色的信息和链接
2-3. 客户角色
调用 facade 角色来完成要得到的功能
3. 应用
JavaEE 应用里使用业务逻辑组件 (Service) 来封装 DAO 组件也是典型的门面模式, 每个业务逻辑组件都是众多 DAO 组件的门面, 系统的控制器类无须直接访问 DAO 组件, 而是由业务逻辑方法来组合多个 DAO 方法以完成所需功能, 而 Action 只需与业务逻辑组件交互即可
0 件のコメント:
コメントを投稿