我一直在研究并在这里寻找一个问题的答案,我怀疑这个问题可以通过更好地理解设计模式来解决。我认为问题在于我是一名自学成才的编码员,人们似乎倾向于假设熟悉许多深奥的术语;我最终陷入了维基百科的螺旋,试图确定某些短语的含义。就是说-关于编码/结构问题。
实际上,就在我开始之前,我应该指出,我很可能对我的问题中代码的结构方式做出了未知的假设。如果是这种情况,人们可以提出替代我建议的方法吗?我真的很感激学习如何更好地编码,而不是仅仅被告知我做错了。好的...
假设我们有一个 Room 类,它有 4 面墙、一个天花板和一个地板。这些是在房间“内部”实例化的。Room 也有一个 Table,它有 4 个 TableLeg,在 Room 内部的 Table 内部再次实例化。(我相信这是作文,但如果我错了,请纠正我!)。
最后,问题是:如果有人以某种方式推动桌子,TableLeg(s) 将需要检查他们站立的地板类型以触发适当的声音。这,目前将是我的解决方案:
表调度一个事件。Room 侦听“table push”事件,询问 Floor 以确定其类型,然后将该类型传递给 Table 上的方法,该方法又将其传递给 TableLegs。对我来说,这似乎相当不雅。因此我怀疑设计模式的知识可能有用。我所描述的结构是否存在一些我不欣赏的根本错误?如果是这样,有什么替代方案?
最后,我听说了《四人帮》这本书。如果这是我的第一个停靠港,它是以一种易于理解的风格编写的,还是我必须学习计算机科学才能掌握它?很抱歉,设计模式初学者的问题很长。