Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 这个图案有名字吗?_Language Agnostic_Design Patterns_Oop - Fatal编程技术网

Language agnostic 这个图案有名字吗?

Language agnostic 这个图案有名字吗?,language-agnostic,design-patterns,oop,Language Agnostic,Design Patterns,Oop,免责声明:我正在努力学习正确的OO编程/设计,所以我对这方面的知识还很陌生 我想这是一个一般的设计模式问题,但我将以游戏引擎或向显示器渲染对象的东西为基础 考虑以下几点: 如何以可扩展的方式实现物理对象(例如立方体、球体等)和渲染机制之间的这种分离 这个设计不是一成不变的,也许我从一开始就犯了一些错误。我只是好奇这样的问题在现实世界的代码中是如何解决的。这将是一个问题,或者它可以实现为一个问题。渲染器不应该被他应该绘制的对象扩展。(仅我的观点)您的世界中的对象不是渲染器,但渲染器使用对象 所以

免责声明:我正在努力学习正确的OO编程/设计,所以我对这方面的知识还很陌生

我想这是一个一般的设计模式问题,但我将以游戏引擎或向显示器渲染对象的东西为基础

考虑以下几点:

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


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

这将是一个问题,或者它可以实现为一个问题。

渲染器不应该被他应该绘制的对象扩展。(仅我的观点)您的世界中的对象不是渲染器,但渲染器使用对象

所以你可能:

接口IRenderer,它定义函数绘图(BasicObject)

然后,您的对象只需扩展BasicObject即可由/a渲染器处理


正如我刚才所说的,这只是我的观点

是的。

我会在这里使用访客模式

其中,访问者是渲染器,访问对象是3D/对象。 我还将使3D/对象成为复合对象