领域驱动设计in gamedev

Domain-Driven Design(DDD) is a collection of principles and patterns that help developers craft elegant object systems. 
Properly applied it can lead to software abstractions called domain models. 
These models encapsulate complex business logic, closing the gap between business reality and code.

最近和团队讨论了一些“领域驱动设计”的事情,基本上一些看法就是:

  • 引擎这些,需求相对简单的方面,更需要代码的强设计,类似frame graph等方面;
  • gameplay相关,设计方面的事情特别多,造成超过一般的挑战在于业务的复杂性以及多变性,所以至少面向代码结构的设计和面向业务的设计55开;

所以可以说gameplay相关是对于业务的抽象和理解,至关重要,应对策略就是领域驱动设计;
这里细节可以看到很多地方在讲,但是对于游戏开发来说,就是要持续的梳理业务模型,然后进行代码结构调整;
至少:

  • 技术团队要对于要做的业务非常的熟知
  • 可以考虑对于业务模型进行商讨以及做一些调整,补全一些技术上很容易做的,以及规避一些难以做的东西
  • 然后再到代码的设计

reference

https://medium.com/%E7%A7%91%E6%8A%80%E6%96%B0%E6%83%B3/domain-driven-design-%E7%B0%A1%E4%BB%8B%E5%92%8C%E7%82%BA%E4%BB%80%E9%BA%BC%E4%BD%A0%E9%9C%80%E8%A6%81ddd-6cf4ceed6088

https://learn.microsoft.com/en-us/archive/msdn-magazine/2009/february/best-practice-an-introduction-to-domain-driven-design

你可能感兴趣的:(开发探索,架构设计,软件工程)