这个模式有名字吗?

时间:2010-06-05 18:12:45

标签: language-agnostic design-patterns oop

免责声明:我正在努力学习正确的OO编程/设计,所以我对这些东西都很陌生。

我想这是一个通用的设计模式问题,但我会将我的示例基于游戏引擎或将对象呈现给显示器的东西。

请考虑以下事项:

hierarchy http://img31.imageshack.us/img31/9633/diagrame.png

如何以可扩展的方式实现物理对象(例如立方体,球体等)与渲染机制之间的这种分离?

这种设计不是一成不变的,也许我从一开始就遇到了一些问题。我只是好奇如何在现实世界的代码中解决这样的问题。

4 个答案:

答案 0 :(得分:3)

那将是Adapter pattern,或者可以实现为Strategy pattern

答案 1 :(得分:1)

渲染器不应该被他应该绘制的对象扩展。 (只是我的观点)你的世界中的一个物体不是渲染器,但渲染器使用物体。

所以你可能有:

接口IRenderer,它定义了一个函数draw(BasicObject)。

然后你的对象只是将BasicObject扩展为由/ a渲染器处理。

正如我刚才所说的那样。 :)

答案 2 :(得分:0)

Strategy patern它是。

答案 3 :(得分:0)

我会在这里使用访客模式。

访问者是渲染器,访问者是3D /对象。 我也会将3D / Object变成复合材料。