架构-Unity

http://www.luzexi.com/2018/07/18/Unity3D%E9%AB%98%E7%BA%A7%E7%BC%96%E7%A8%8B%E4%B9%8B%E8%BF%9B%E9%98%B6%E4%B8%BB%E7%A8%8B-%E6%9E%B6%E6%9E%841.html

实际上架构无处不在,它实质上是解决生活和工作中的问题的一种方案。除了自己着手寻找解决问题的方案外,其他方案,比如直接购买现成的,或者直接放弃,或者以外包以及部分外包的形式,以还有合作模式等来对解决问题,也是切实可行的,其实都是值得考虑的解决问题的方案。我们所求的不是最贵的也不是最高级的,而是最好用的

在软件系统架构中,架构承担了解决项目从研发到上线运营的方案。前端渲染引擎的选择是自己研发一款引擎,还是使用商业引擎?商业引擎使用Unity3D还是Unreal还是其他?以及怎么用,是和UGUI一起用还是和NGUI一起用?UI里的事件系统如何做统一的处理?AI行为算法是选择行为树还是状态机抑或事件型决策树?数据如何获取和存储?场景如何拆分?是否需要将资源分离出去?是长连接还是短连接?服务器端是用C++还是Java抑或Python?是全部使用关系型数据库还是加入Cache机制?网络协议是用 protocal buff 还是 json 还是 xml 或者使用完全自定义格式等等等


每个子系统的都有自己的决策方向,而子系统的决策方向,把它们合起来加入一定的关联性就构成了一个完整架构整体,即每个系统、模块、组件都是软件系统架构中的一部分。
优秀的架构师,需要对每个子系统决策的方向要进行深思熟虑,不仅只针对单个系统的决策方向,还要结合其他系统以及整体系统需求的方向进行决策。

在架构设计中,为了能够更好的整理,思考,描述,表达,于是就有了架构图这个东西。架构师把架构中抽象的系统、模块、组件画在图上用圆圈、方块和文字表示,让自己和大家能够更加系统的认识到架构的意图,规范,以及子系统的细节。

架构图 :一个完整架构图会有很多细节的子系统、或者说子模块架构图
    UML对象关系图 :描述了数据类之间的关系,把系统中对象模块用画图的方式描述清楚。
    部署图 :把需要多少种服务器,分别起到什么作用,相互之间的关系描述清楚。
    时序图 :把系统程序调用的次序与流程描述清楚。
  这些子系统的架构图合起来构成了一个完整的项目的架构图

 比喻 :'软件系统架构'比喻成'书架'来思考。

架构的好坏有五个方面评估:
   一、承载力;二、可扩展度;三、易用性;四、可伸缩力;五、容错力以及错误的感知力
在架构中这五项能力缺一不可,遵循的是木桶原理。
综合因素决定了成败,架构也同样如此,如何让所有的因素都朝着好的方向发展是所有架构师最终都需要思考和解决的问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值