对于OOP来说,我非常业余,使用python自学。
我主要担心的是将概念或实体分解为对象。
例如,我刚刚写了一些代码来控制连接到我的覆盆子pi的交通灯系统。
系统包含:
现在我最终将我的代码建模为一个完整的类。对象内部的方法调用对象中的其他方法。例如。当初始化对象时,initialize方法调用“等待按钮按下”方法,当按下按钮时,该方法然后调用“通过光序列”方法。
这是不好的做法吗?每个概念/实体应该是一个单独的类/对象,例如交通灯对象,按钮对象,行人灯对象?
对于问题的公开性表示抱歉。
感谢您的帮助。
答案 0 :(得分:1)
您目前所拥有的内容违反了Single Responsibility Principle。基本上你上课的时间太多了。
您可以做的事情如下:
为汽车交通灯,行人交通灯和请求开始穿越的按钮设置单独的课程。
之后,您可以将按钮类注入行人灯类。并将汽车和行人舱注入“控制”/“管理”课程,其中班级用于管理灯光。
您甚至可以在此之后进一步抽象它,例如将实际灯光注入交通灯类。
您可能还想了解其他SOLID principles。