我主要使用Unreal引擎,而架构大概是我最头疼的问题。

即使只是构建一个单一功能,我也常常难以确定如何恰当地组织它。

比如,数据应该存放在哪里?
逻辑应该放在哪里?
哪些内容应该独立成组件或系统,哪些保持简单直接就好?

一旦多个系统需要交互,我就会更加犹豫不决。

这些系统应该直接了解彼此的存在吗?
我应该使用事件、接口、组件,还是某个管理器之类的?
我是在让代码过于耦合,还是为了避免耦合而过度设计?

我知道架构可能没有唯一的“正确”方式,但我很好奇更有经验的开发者实际是怎么思考这些问题的。

当你开始构建一个新系统或功能时,你是先规划好架构,还是先做一个能跑的最简单版本,等更理解问题后再重构?

有哪些经验法则、演讲、书籍、项目,甚至是你犯过的错误,最终让你对架构豁然开朗?