|
|
1
9
如果每个
|
|
|
2
5
在一个短语中,你想在这里担心的正式术语是 关注点分离 。
针对您的具体示例,您选择的两个示例中的哪一个取决于
理想情况下,您创建的每个类都应该为程序的一个主要关注点建模。这可能会变得有点棘手,因为你必须自己决定“主要关注点”的粒度。查看您的依赖关系树,以确定您是否正确地执行了此操作。从程序中提取每个单独的类并将其与所有其他类隔离进行测试应该相对容易。如果这很困难,那就是你没有正确地划分你的担忧。更正式地说,良好的关注点分离是通过设计类来实现的 cohesive and loosely coupled 。 虽然这对您发布的示例没有用处,但有助于在更大范围内实现这一点的一个简单模式是控制反转(IoC,有时称为依赖注入)。在IoC下,类的编写方式是,它们不直接知道自己的依赖项,只知道依赖项实现的接口(Python中的协议)。然后在运行时,通常在应用程序初始化期间,主要类的实例由工厂创建,并为它们分配对其实际依赖项的引用。看见 this article (与 this example )以解释如何在Python中实现这一点。 |