免责声明:我正在努力学习正确的OO编程/设计,所以我对这些东西都很陌生。
我想这是一个通用的设计模式问题,但我会将我的示例基于游戏引擎或将对象呈现给显示器的东西。
请考虑以下事项:
hierarchy http://img31.imageshack.us/img31/9633/diagrame.png
如何以可扩展的方式实现物理对象(例如立方体,球体等)与渲染机制之间的这种分离?
这种设计不是一成不变的,也许我从一开始就遇到了一些问题。我只是好奇如何在现实世界的代码中解决这样的问题。
答案 0 :(得分:3)
那将是Adapter pattern,或者可以实现为Strategy pattern。
答案 1 :(得分:1)
渲染器不应该被他应该绘制的对象扩展。 (只是我的观点)你的世界中的一个物体不是渲染器,但渲染器使用物体。
所以你可能有:
接口IRenderer,它定义了一个函数draw(BasicObject)。
然后你的对象只是将BasicObject扩展为由/ a渲染器处理。
正如我刚才所说的那样。 :)
答案 2 :(得分:0)
答案 3 :(得分:0)
我会在这里使用访客模式。
访问者是渲染器,访问者是3D /对象。 我也会将3D / Object变成复合材料。