关于ECS设计以及MVC分层设计和组件化设计的思考和总结(这个标题就问你长不长)

本文探讨了ECS(实体组件系统)和MVC(模型-视图-控制器)两种设计模式的差异及适用场景。ECS主要用于处理对象关系,尤其适合游戏玩法的复杂场景,强调数据驱动和解耦。而MVC则更适合UI交互,是一种成熟的分层设计。在实际应用中,可以结合使用轻量级MVC模式,将ECS用于底层系统,处理各种问题,MVC处理UI交互。
摘要由CSDN通过智能技术生成

前言

最近工作忙了很多关于设计的事情,用了常用的分层设计MVC也尝试是用了ECS这种设计方式,同时也参考了Unity或者Creator的这种组件化方式。有了很多困惑也有了一些总结。

首先,MVC也好ECS也好他们都是一种编程的范式,或者说你组织代码的方式。然而他们的层面不同,也就是说不是一个层面的东西。

  • MVC:用来解决UI交互方面的成熟的经验体系,是一种分层的设计。
  • ECS:是一种对象组织的方式,比如继承也是一种处理对象关系的方式。而ECS就是组合的方式来处理对象见关系的,还看到了一种说法:

Entity system architecture derives from an attempt to resolve the
problems with the game loop. It addresses the game loop as the core of
the game, and pre-supposes that simplifying the game loop is more
important than anything else in modern game architecture. More
important than separation of the view from the controller

也就是说ECS这种方式目标是用来尝试处理游戏循环问题的。并预先假设简化游戏循环比现代游戏架构中的任何其他东西更重要。比从控制器分离视图更重要。


同样,还有很多的架构,比如分层设计的系统架构等等。
简单的总结来说,他们不是一个层面的,MVC是一种分层的针对U

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值