重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
“架构”一词对程序员来说是再常见不过的词了,一提到架构绝大部分的技术人员都会有一种不可企及、十分高大上的感觉,其实架构就在我们身边,是我们看得到摸的着的东西。
创新互联专注于企业营销型网站、网站重做改版、道里网站定制设计、自适应品牌网站建设、H5网站设计、商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为道里等各大城市提供网站开发制作服务。
我们先看看几个概念,系统与子系统,模块与组件,框架与架构的关系和区别。
系统是由一群有关联的个体按照指定的规则运作,从而能完成个别元件不能单独完成的工作的整体。例如:汽车与发动机、轮胎等元件的关系。
子系统也是一个系统,他与系统的定义是一致的,只是观察的角度不同,一个系统可能是更大系统的一个子系统。
模块和组件都是系统的组成部分,只是从不同角度拆分系统而已; 从逻辑的角度来拆分就是“模块”,从物理的角度拆分后就是“组件”; 划分模块的主要目的是职责分离,划分“组件”的目的是单元复用。
框架(Framework)关注的是规范与功能产品,例如MVC规范与SpringMVC这个MVC的开发框架;架构(Architecture)关注的是“结构”,他是系统的顶层结构。
总结:系统根据业务或功能划分为各个模块,某些模块可能又被升级为了子系统;模块中可能使用了很多组件来实现某些具体功能;同时,也可能使用了某些框架来作为开发的基础,而架构则描述了各个子系统或模块间如何协调工作。
**架构设计的主要目的是为了解决软件系统复杂度带来的问题**
那么系统的复杂度主要来源于哪些方面呢?其主要来源与以下几个方面
1)高性能
2)高可用
3)可扩展性
4)低成本
5)安全
6)规模
也就是说结构设计是为了解决某些关键的问题而存在,并不是每个系统都需要进行架构设计的。
在做架构设计的时候不能贪大而全,而是要遵循几个简单的原则
1)合适原则:合适优于业界领先
没有那么多人,却想干那么多人的活,是失败的第一个主要原因;没有那么多积累却想一步登天,是失败的第二个主要原因;没有那额卓越的业务场景,却幻想灵光一闪成为天才,是失败的第三个主要原因。
2)简单原则:简单优于复杂
结构的简单,逻辑的简单
3)演化原则:演化优于一步到位
对于建筑来说,永恒是主题;而对于软件来说,变化才是主题。