gpt4 book ai didi

lua - 这个设计模式有没有问题: Main --> Graphics <--> Data?

转载 作者:行者123 更新时间:2023-12-05 00:01:47 26 4
gpt4 key购买 nike

我在 Lua 和 Codea 中发布这个,因为这是我正在使用的,但我认为这是一个非常普遍的问题。

我正在考虑一种显示图形的整体设计模式,我想知道它是否存在问题。

这是我正在考虑的设计模式:

Main 类中的 setup() 方法告诉 Graphics 类创建一些图形元素:例如,两个正方形和一个椭圆。

Graphics 类生成每个元素所需的参数,将它们存储为一个表,并将该表发送给一个Data 类。

当应用程序开始绘图时,Main 中的draw() 函数告诉Graphics 类绘制已创建的对象。

然后 Graphics 类要求 Data 类交回它在 setup() 期间发送的所有表格,并且它使用他们绘制元素。

Main 命令 Graphics 命令和查询 Data。我确定这是一种已知模式:是否存在通常与之相关的问题?

最佳答案

您正在做的事情 - 本质上是模型- View - Controller ,通常用于工业和应用程序开发。它工作得相对较好,尽管没有任何编程范式是没有缺陷的。也就是说,MVC 是为处理大型项目的大型团队 设计的。多个人在一个 Codea 项目上一起工作在逻辑上是不可能的,所以考虑到你是自己工作,我猜这个项目将是中小型的。当独自处理这样的项目时,务实、直观的方法是迄今为止最好的选择。

在这样的事情上使用 MVC 有点像建立一个完整的民主国家,包括国会/议会、国家元首和法院系统,只是为了管理一个家庭的事务。民主是好的,健全的选举和制衡制度是保持制度平稳运行的唯一途径。然而,在家庭中,尽管秩序和幸福仍然需要维持,但方法却完全不同。

对你来说,你能做的最好的事情就是思考你头脑中的想法是如何构成的。你认为一群敌人是一个单一的实体,还是自治对象的集合?你认为宇宙飞船是属性的完美数学集合,还是用户在屏幕上与之交互的图像?当出现暂停画面时,游戏画面是还在,只是隐藏了,还是已经不复存在被取代了?

此外,您如何构建想法?您是从宽泛的类别开始,深入到更精细的细节,还是您脑海中有一个生动的形象,您努力为之建立一个世界?您的程序概念是由在某些点进入现实的庞大流程图组成的,还是由相互发送消息的节点集合组成的?所有这些都是只有您才能回答的问题。如果您自然而然地倾向于使用 MVC,那么您可能希望坚持使用它。如果你在一本书中读到它,并决定,即使你没有真正明白它为什么有用,它一定是某种神奇的 Sprite 粉,你可以洒在任何项目上以使其变得容易,我会敦促你重新考虑。

编码愉快!

顺便说一句,我觉得这个问题更适合Stack-Exchange programmers比堆栈溢出。这是一个微妙的区别,但 Stack Overflow 用于事实,例如错误修复和算法,而 Programmers 用于关于如何编写软件的意见

关于lua - 这个设计模式有没有问题: Main --> Graphics <--> Data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045321/

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