1

在 OOP 方面,我非常业余,使用 python 自学。

我主要关心的是把概念或实体分解成对象。

例如,我刚刚编写了一些代码来控制连接到我的树莓派的交通灯系统。

该系统包含:

  • 一辆汽车点燃了红绿灯(红、黄、绿)。
  • 请求过境的按钮。
  • 还有一个绿灯和红灯告诉行人什么时候过马路

现在我最终将我的代码建模为一个完整的类。对象内部的方法调用对象中的其他方法。例如,当对象被初始化时,initialize 方法调用“等待按钮按下”方法,当检测到按钮按下时,该方法然后调用“运行光序列”方法。

这是不好的做法吗?每个概念/实体是否应该是一个单独的类/对象,例如交通灯对象、按钮对象、行人灯对象?

很抱歉这个问题的开放性。

谢谢你的帮助。

4

1 回答 1

1

您目前拥有的内容违反了单一职责原则。基本上你的班级做得太多了。

您可以执行以下操作:

为汽车交通灯、行人交通灯和请求开始过马路的按钮设置单独的类。

之后,您可以将按钮类注入行人灯类。并将汽车和行人类都注入到“控制”/“管理”类中,这些类用于管理灯光。

您甚至可以在此之后进一步抽象它,例如将实际灯光注入交通灯类。

您可能还想了解其他SOLID 原则

于 2013-01-16T12:54:52.603 回答