Answers:
请查看我在此答案底部显示的链接。他们中的许多人彻底回答了这个问题,我不想在这里重复这些信息。
特别是,有一个问题“基于组件的游戏引擎设计”,我认为它直接回答了您的问题。
游戏对象作为组件集:
http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
http://gameprogrammingpatterns.com/component.html
游戏引擎作为一组与共享数据存储独立工作的组件:
http://www.acims.arizona.edu/PUBLICATIONS/PDF/JeffPlummerMSthesis_wo_Appendix.pdf