练习作曲
Composition in practice
在大学里,我们被教导说组合对于保持代码整洁和高效非常重要。例如,playtile class 对象可以 只有 存在于 playfield class 对象中。如果没有运动场,就不可能有运动砖。但是,我们从未被教导 如何 实现这样的事情。当我询问时,我得到了类似于 "Add a check in the constructor." 或类似的答案,但我不知道如何实现它(我不知道要查找什么或官方条款是什么)。我的尝试之一是继承。老师们不喜欢,就这样吧...
那么,构图在实践中是如何运作的?我怎样才能使游戏场 class 成为 只有 class 可以在没有继承的情况下实例化游戏块?
实际上,引用另一个的 class 不会对其引用的 class 施加约束。 class 关心引用它的内容是不可取的。例如:您不想在编写单元测试时强制执行此约束。我永远做不到,所以游戏场 class 是唯一可以实例化游戏砖的 class。
有关如何在野外实现合成的具体示例,请查看 Unity3d 游戏引擎:https://www.youtube.com/watch?v=8TIkManpEu4
在大学里,我们被教导说组合对于保持代码整洁和高效非常重要。例如,playtile class 对象可以 只有 存在于 playfield class 对象中。如果没有运动场,就不可能有运动砖。但是,我们从未被教导 如何 实现这样的事情。当我询问时,我得到了类似于 "Add a check in the constructor." 或类似的答案,但我不知道如何实现它(我不知道要查找什么或官方条款是什么)。我的尝试之一是继承。老师们不喜欢,就这样吧...
那么,构图在实践中是如何运作的?我怎样才能使游戏场 class 成为 只有 class 可以在没有继承的情况下实例化游戏块?
实际上,引用另一个的 class 不会对其引用的 class 施加约束。 class 关心引用它的内容是不可取的。例如:您不想在编写单元测试时强制执行此约束。我永远做不到,所以游戏场 class 是唯一可以实例化游戏砖的 class。
有关如何在野外实现合成的具体示例,请查看 Unity3d 游戏引擎:https://www.youtube.com/watch?v=8TIkManpEu4