【网站架构】软件架构是什么?

 请点击输入图片描述(最多18字)

长久以来,架构都是一个十分模糊的概念

你可能会听到,架构是一个软件的抽象,或者是一个软件的骨架

这些概念听起来感觉是对的,但是往细里想,仿佛又没讲清楚

那么,本期我们就来聊一聊架构实际上是什么

架构的组成部分

 1.环境架构

 2.软件架构

 3.开发规范

1、环境架构

首先,我们来介绍环境架构

环境架构

环境架构指的是软件运行时的环境结构

一般而言,除自身开发以外的软件或硬件都算是环境

环境是一个软件运行的前提

对于环境架构的设计而言,更多的是去选择现成的软件或硬件

2、软件架构

接着,我们来介绍一下软件架构

软件架构

软件架构指的是自身团队开发的软件的基础结构

通常来说,根据具体的软件形态,宏观的软件架构是相对统一的

例如,APP有其特定的宏观软件架构、网站系统也有其特定的宏观软件架构

对于软件架构的设计而言

其实就是在明确软件形态的基础上

去选择开发语言、基础开发框架

除此之外,还需要根据具体的软件,进一步细分子模块、通用模块等

关于网站系统的软件架构,请观看往期《技术架构》

不过,从严格意义上讲,往期提到的《技术架构》不完全等同于软件架构,其中PaaS、IaaS、SaaS分层其实是省略化的环境架构。

3、开发规范

一般而言,架构指的是环境架构和软件架构

那么我们为什么要强调开发规范呢

因为在实际项目当中,我们发现了一个问题

那就是,即使使用了相同的环境架构和软件架构,最终的软件质量可能是天差地别的

有的软件运行顺利,项目顺利结束;有的软件经常出BUG、项目严重延期

抛开项目管理、开发人员能力等因素的前提下,造成这些区别主要在于:开发规范

开发规范的目的,是让开发团队拥有大体上一致的编程行为

而一个团队开发人员的编程行为是否大体上一致,直接决定了最终的软件质量

也决定了软件项目是否会延期、是否会成本超支

对于开发规范具体需要关注哪些问题,会在后期讲到前端架构、后端架构时提及

当开发规范完整到一定程度,拥有其特有的工程结构和编码行为时,则会形成顶层架构

需要说明的是顶层架构是我们自己定义的一个概念(所以不放在传统的架构含义当中)

顶层架构思考的是“人如何写代码”、“软件质量和生产效率如何最大化”等问题

简单地说,顶层架构是一套完整的规范化标准

它改变和约束开发人员的开发方式,以拥有更加流畅的生产过程

顶层架构虽然是我们自己定义的概念,但也是有迹可循的

以比较流行的技术为例

Vue-CLI等脚手架和Spring Boot的Controller、Service、Dao分层都是顶层架构

Vue-CLI加入了编译器、包管理等工具,改变和约束了前端工程结构和开发人员的编码行为

以提升前端的开发效率,而最终运行的代码,还是会编译成HTML、JavaScript、CSS

Spring Boot的Controller、Service、Dao分层,约束的是编码行为,让后端代码大体上是一致的

我们自研的三套架构都是顶层架构,他们都没有增加新的技术

只是在流行的技术上增加了使用规则,它们已经帮助了多个项目缩减项目周期和项目成本

感兴趣的同学可以到我们的官网查看

总结

架构设计的目的是,保证最终的软件质量和加快软件的生产效率

以现实生产一个产品为例

明确环境架构相当于明确产品的使用环境

明确软件架构,相当于明确产品的原料、产品的结构

明确开发规范,相当于制定开发流程,生产合作规则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值