1.1 架构的意义
什么是架构?架构无处不在,它实质上是解决生活和工作中问题的一种方案。
决定架构好坏的方面:
- 承载力:逻辑系统的数量、代码量、共同开发效率、服务器访问量
- 可拓展性:添加新的子系统不影响或者尽可能少的影响其他子系统
- 易用性:决定整体开发效率
- 可伸缩性:根据需求使用架构部分或全部功能
- 容错性以及对错误的感知力:某个地方出错时不影响整体程序,能推送错误信息给开发人员
1.2 软件架构的思维方式
- 分层思维:把复杂的系统分成若干层次,例:TCP/IP分层架构
- 分治思维:把大问题分成一个个小问题
- 演化思维:应对变化的灵活性
1.3 如何构建Unity3D项目
- 前端与后端架构之间的共性:高性能、高可用、可扩展、安全、可容错,前端还需要考虑用户体验,包括性能、视觉效果、操作人性化
- 培养架构设计思维:抽象、分层、分治、演化
- 构建Unity3D项目示例:分成五大层,继续拆分比较笼统的层
- UI框架层
- 核心逻辑框架层
- 工具编辑器
- 角色行为框架
- AI框架
- 地图场景和寻路框架
- 着色器与特效
- 设备平台
- 资源管理层
- AssetBundle资源管理
- Prefab资源管理
- 数据管理层
- 内存数据管理
- 外部数据管理
- 网络层