对于设计模式的一点思考(后记)

来源:互联网 发布:c语言打印一个三角形 编辑:程序博客网 时间:2024/05/22 12:48

前面那篇里,说了要列一下html元素输出的工厂方法的好处和实际应用场景,在这里兑现一下:
1) 可以附加很多职责,这个是很多设计模式的优势

对于工厂方法等构造型设计模式来说,也是其一大优点,比较典型的应用场景:

A)企业开发的合法性检查:采用微软提供的或者第3方的方法也是一种非常好的选择,但对于更为灵活的设计方式来说,将校验信息放在类或者数据库其实是更好的选择,在这种方式下,采用工厂方法输出html元素,虽然需要拼接,但好处就非常大了,不仅可以统一实现校验法则,而且可以延后实现;

B) 多语言处理:如果按照微软提供的传统多语言处理,在云环境下就比较困难,不够灵活,而且有些地方还无法处理,比如字典数据的多语言,如果将多语言数据库化,再在控件输出的地方按一定规则附加上处理多语言的责任,就非常简单而灵活了。

当然随着这种附加责任的思路,其实很多功能都可以在这个工厂方法中实现,比如表单元素显示控制,表单按钮权限控制等。

不过采用这种方式其实也有自己的缺点,一是附加责任太多的时候,这个机制会比较庞大而复杂,二是会使程序员失去很多乐趣,同时显得不那么纯粹。

原创粉丝点击