Unity读书系列《Unity高级编程:主程手记》——架构

本文围绕Unity项目架构展开,阐述了架构的意义,包括承载力、可扩展性等关键能力。介绍了软件架构的分层、分治、演化思维方式。还讲述了构建Unity项目时前后端架构差异、培养架构设计思路,以及项目的分层设计和细致化构建方法,强调架构需持续演进优化。


前言

这篇文章是《Unity高级编程:主程手记》的第一章。从标题就可以看出,该书不涉及通常意义上的基础知识,而是针对进阶内容。适合那些开发经验至少超过2年的老手,5年以上最佳。希望大家能喜欢!接下来就让我们进入正文。
软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件体系结构是构建计算机软件实践的基础。
这是网上搜到的定义,说实话有点高深,如果非得我解释清楚,我只能说,懂得都懂。哈哈,开个玩笑,接下来我会用通俗易懂的语言来解释。

面试官:“你觉得你是架构师吗?”
我:“我觉得我是!”
面试官:“回去等消息吧。”
——节选自某职业程序员语录


一、架构的意义

架构,简单来说就是解决问题的方案;就比如我生活中开一个水果罐头,可以用大力气拧开,亦可以将罐头倒置放入热水中,两分钟后轻松拧开;填饱肚子可以自己做也可以订外卖,等等。
软件架构是关于如何组织软件系统各个部分以及它们之间如何交互的整体设计方案。可以将软件架构比喻为建筑的蓝图,它指导着软件系统的搭建和发展,也可以将其理解为软件的架子。
我们以架子的类比来了解好的架构需要什么吧:

1、承载力

书架上能放多少东西,放多重的东西是甲方、乙方及程序员都关注的问题。
程序上来说,代码扩展能力如何,能否承载多少个程序员共同开发,共同开发效率如何是其中一个指标。
服务器来说,能承载多少的访问量和在线同步量是否满足软件需要及其重要。
客户端来说,能显示多少模型、UI、渲染多大的场景等都是承载力的表现,其中要考虑到市场或甲方的通用硬件需求。

2、可扩展性

好的架子不光能放书,有时也需要满足放瓶子、箱子、衣服的需求,虽然听上去不合严谨的规范,但是你不满足估计合同都签不成,工资都拿不到(哈哈)。
架构的设计需要适应不同类型的需求,可添加不同类型的系统,兼容她们是非常必要的。其中扩展性的关键在于,添加新系统的时候尽量不影响其她子系统的运行。不然哪怕你的架构再完美,性能再高,添加一个新系统就要重构,那代价没有一个公司能够承受,也是程序员不想看到的。

3、易用性

这是一个比较容易忽视的点。就像是产品给客户用,客户不满意就会产生不满,怨念和上当的感觉;架构设计出来给程序员使用也会出现这样的问题,不好用的架构会让开发效率大幅下降。实际上,本人工作中也遇到过这样的情况,综合工期、架构的需求、团队的配置进行合理化的架构才是王道。
易用性决定了架构的整体开发效率,程序员的上手快,各个系统的融合只需要花一些精力的话,就能让各系统各尽其职,每个负

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值