我有一个关于工厂类中“工具/帮助器”方法用法的问题。考虑一个表示文档的XML字符串的示例。我有一个类可以把它转换成一个“对象”(比如PDF、Word、CSV等等)。我有一个工厂类(让我们称之为DocumentFactory),它接受这个XML字符串,并根据某些规则返回正确的document对象。
这里我的问题是,就“最佳实践”而言,我是否可以向DocumentFactory类添加“实用程序/帮助器”方法,以帮助决定将返回哪种类型的对象?这些帮助器超越了简单的if/swtich case语句。但不超过15-20行。
我在我的代码中也使用了一个私有静态类,大约有4-5个辅助方法(这些辅助方法是公共的,因为我已经为这些方法编写了测试)。
那么这个设置对于工厂类是有效的吗?
发布于 2009-10-21 07:46:22
不,在Factory中使用helper方法来帮助决定返回哪种类型的对象并没有本质上的错误。所有常见的与方法相关的警告都适用,但没有特定于工厂的理由来避免它们。
发布于 2009-10-21 08:43:51
这完全没问题..事实上,我想说的是,使用帮助器方法是实现这一点的首选方法,因为将代码分块为尽可能多的可重用方法是一种好的做法。您可能应该将这些帮助器方法设为私有(和静态,假设工厂方法本身是静态的)。
https://stackoverflow.com/questions/1597926
复制相似问题