组合视图

组合视图

来源:http://corej2eepatterns.com/C...

问题需求

您想要把模块的、原子的组件组合起来构建一整块视图,来独立管理内容和布局

  • 您想要一个通用的子视图,如把headers、footers和tables这些子视图复用到多个视图中,布局在每个页面的不同位置
  • 您需要一个可能频繁改动或可能受某些访问控制的子视图内容,如限制某些角色中的用户的访问
  • 您想避免在多个视图中直接嵌入和复制的子视图,因为这会导致布局难以管理和维护

解决方案

使用多个原子子视图组成的复合视图,每个子视图可以动态的被包含在整个模版中,并且页面的布局独立于内容的管理。

策略

  • JavaBean视图管理策略
  • 标签视图管理策略
  • 自定义标签视图管理策略
  • 可变视图管理策略
  • 早期资源绑定策略
  • 晚期资源绑定策略

结论

  • 提高模块化和可重用
  • 添加基于角色和基于策略的控制
  • 增强可维护性
  • 减少维护成本(Reduces maintainability 可能有问题)
  • 降低性能

相关模式

  • 视图助手
    复合视图可以在辅助视图中实现视图的分角色权限
  • 合成
    复合视图是基于组合的,许多部分组成的复合对象描述的是部分与整体的关系

你可能感兴趣的:(设计模式,java)