gpt4 book ai didi

c# - 实体应该有能力绘制自己吗?

转载 作者:太空狗 更新时间:2023-10-29 21:24:13 26 4
gpt4 key购买 nike

<分区>

这是一个简单的问题,但我从来都不太确定。这主要是在游戏开发的背景下。假设您有一个实体,例如一艘船或一个角色。这个对象是否应该(我知道这是一个见仁见智的问题)包含一个 Draw 方法? (也许实现一个 IDrawable 接口(interface))

在查看某些游戏项目的源代码时,我发现这种做法有很多种。有时有一个单独的类可能会接受实体基础对象并根据其属性(纹理、位置等)绘制它。其他时候,实体会获得自己的绘制方法,并且它们能够呈现自己。

我希望这个问题不要太主观。有时我听到人们说像绘画这样的事情应该与物体完全分开,他们不应该知道如何画自己或没有能力画自己。有些人更务实,觉得这种对象具有这种能力的设计很好。

我自己也不太确定。我没有发现任何与此类似的问题,因为它可能有点主观,或者任何一种方法都可以,但我想听听 SO 对此有何看法,因为这些设计决策每天都困扰着我的开发。这些小决定,例如对象 A 是否应该具有执行功能 B 的能力,或者这是否会违反某些设计原则。

我敢肯定有些人会说只要跟着我的直觉走,必要时再重构,但这就是我一直在做的,现在我想听听决定某些对象何时应保持某些功能背后的实际理论。

我想我正在寻找的是一些启发式方法,用于确定给定对象应具有多少权限。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com