【发布时间】:2019-04-29 16:16:16
【问题描述】:
我想在 python 中使用 SOLID 原则解决 fizzbuzz 问题 我写了这段代码:
class tester(object):
def check(self, number, string):
return ", ".join(self.check_numbers(number, string))
def check_numbers(self, number, string):
number_list = []
for n in range (1, 101):
if n%number==0:
number_list.append(string)
else:
number_list.append(str(n))
return number_list
效果很好。当我运行代码时,我通过:em = tester() 创建一个对象,然后调用检查函数,如:em.check(3, "Fizz")
他们说:规则应该是对象,所以我可以动态地将它们添加/注册到规则执行器,或者通过依赖注入 我想用 JSON 文件来存储所有规则并将它们作为 .py 文件中的对象读取,但我卡住了。
有什么帮助吗?
【问题讨论】:
-
为什么要使用类?只有成员函数,但没有数据......
-
我在运行阶段实例化数据。
-
像这样:em=tester() em.checker(3, "Fizz")
-
您是否推荐任何其他使用 SOLID 原则的解决方案?
-
如果你用它的方法定义一个新的数据类型,一个类是有意义的。你不要在这里这样做,你的数据类型是普通的
integers。所以是的:我建议您不要为此编写课程。顺便说一句:这与json有什么关系?