复合模式在表单验证与图像画廊中的应用
1. 表单验证示例
1.1 问题提出
在工作中遇到一个新项目,需要创建一个表单,其值可以保存、恢复和验证。然而,表单中的元素内容和数量完全未知,且不同用户看到的表单可能不同。传统的与特定表单字段紧密耦合的验证函数无法满足需求,此时复合模式就派上用场了。
1.2 表单元素分析
表单的基本构建块可分为复合元素和叶子元素:
- 叶子元素 :用户输入数据的字段,如 input 、 select 和 textarea 标签。
- 复合元素 : fieldset 标签将相关字段组合在一起,而表单本身处于顶层。
1.3 复合关系说明
复合元素与子元素之间是 “HAS - A” 关系,而非 “IS - A” 关系。例如,表单包含字段集,字段集包含字段,但字段不是字段集的子类。
1.4 实现思路
为了实现表单的模块化,使表单在未来可以随时扩展而无需重新编写保存和验证函数,我们将保存和验证方法绑定到每个字段本身。但要同时对所有字段执行这些操作,使用复合模式可以简化代码。
1.5 代码实现
1.5.1 定义接口
var Composite = new Interface('Composite', ['a
超级会员免费看
订阅专栏 解锁全文
1447

被折叠的 条评论
为什么被折叠?



