好的设计原则:在哪里放置文本处理代码?

时间:2016-07-25 06:00:01

标签: python python-3.x oop

在使用已处理的文本创建对象实例之前,我必须对数据进行大量文本处理。我的问题是,首先进行文本处理是否更好oop设计,然后创建对象实例,或者将未处理的文本传递给对象构造函数并在那里进行。基本上是:

方法1:

lots_of_text = "................."

class_properties = process_text(lots_of_text)

newobject = MyObject(class_properties)

方法2:

newobject = MyObject(lots_of_text)

当两者都有效时,这似乎是一个微不足道的问题,但是当实际文本处理可能是数百行代码时,我认为值得考虑。谢谢你的任何想法。

1 个答案:

答案 0 :(得分:0)

在提出设计时,请考虑责任分离。文本处理是MyObject的责任吗?是否需要lots_of_text的内容,除了在构造函数中处理它? (例如出于性能原因,延迟处理是否有意义?)如果这些问题的答案为“否”,则文本处理不属于MyObject