工厂该不该有默认行为

jiuyueshouyi 发布于 2013/08/23 10:26
阅读 95
收藏 0
想到这个是因为看到别人的代码,不能同意更多,业务场景代码的逻辑大致如下: 有一个组件工厂,专门用来生成组件,组件有一套抽象接口,工厂根据配置的不同来生成不同的组件,现在的业务需求是,如果用户没有配置,那应该给他生成一份默认的组件,于是该同事的写法如下: component = new XXXComponent; 当看到这个的时候,不知道会不会有异议。我的想法是,组件本身是不知道它如何被创建的,既然提供了工厂,就应该统一从工厂中出来。 但是另一方面,工厂生产组件会有默认组件这一说法吗?我觉得不合适,对工厂来说,必须向它提供一份配置,它才能生产东西。所以具体到这个场景,在用户未配置情况下实现默认组件创建应该是通过生成默认配置的方式,对于工厂来说,永远只接受外部输入。 不知有没有其他观点的,积极讨论
加载中
0
sxgkwei
sxgkwei
果断,增加默认配置,然后工厂就不用改了。而不是在工厂里面通过代码来“硬性的”弄一个默认组件进去。
jiuyueshouyi
jiuyueshouyi
同感
返回顶部
顶部