软件架构的重要性
为什么说一个软件架构是很重要的呢?直接编程直接开发,多EASY?请看下面几点:
- 软件架构能够满足系统的品质
- 架构设计使受益人达成一致的目标
- 架构设计能够支持计划编制过程
- 架构设计对系统开发的指导性
- 架构设计能够有效地管理复杂性
- 架构设计为复用奠定了基础
- 架构设计能够降低维护费用
- 架构设计能够支持冲突分析
好的软件架构
这个问题,可能大家一直都在问,包括一些IT企业也在问,对于这个问题的回答,可能不仅仅是一个简单的语句或者是定义就可以回答的出的,我们来看下面的几个形象的例子:
这个是什么东东呢?乐高玩具,乐高玩具大家肯定都玩过吧?
它即可以以一个完整的模型卖给你,你也可以把它全部打碎了重新从一个模型自由的再去组装成另一个模型,因为每一个乐高的模块在横向、坚向里都有标准的接口,这就是我们常说的高内聚、低耦合。
糟糕的架构
大家看看上面这幅图是什么?
一个是清代的八股文,一个是孔乙己。
还记得回字的四种写法吗?
那么你专门就研究回字的四种写法 ,但你有没有想过我把回字折开来又可以变成几个字?是否好折?
时髦不实用
要知道最时髦的并不一定是最好的
为什么M1A2和阿帕奇直升机里不用A8处理器,或者是最新的奔腾处理器啊?实用、经过检验的才是最好的!
成功的软件又是怎么样的呢
我们谈的是软件架构,架构的最终体现是一个软件,那么什么是成功的架构什么是成功的软件呢?
大家看左边的这个图,是美国的“阿利伯克级”宙斯盾驱逐舰,右边的是印度模仿美国的宙斯盾自己设计和建造的”德里级”的“咖喱盾”驱逐舰。
两艘战舰一对比,怎么样?
- 一个是模块化的设计,整体线条流畅,战损时模块可以任意替换。
- 一个却是拼拼凑凑,线路外露,甲板上布满了各种电子设备和天线,一旦战损,极难维护
架构之美
架构就像是迷踪拳,动作轻灵敏捷,灵活多变,它其实违背一切传统拳法,因此可以克敌制胜。
架构就像是独孤九剑,破剑式、破枪式、无招胜有招,它发源于传统武术,又扩展了传统的武术
架构就像是一件艺术珍品,有时一个看似简单的架构往往却是一件艺术珍品。
大家知道这幅画吗?他是挪威画家蒙克的一幅作品叫”呐喊“,蒙克这个人是一个疯子,这幅画很简单,就是随手涂鸦一般,但是大家可知道这幅画值多少钱吗?2012年该画在纽约苏富比拍卖上以1.19亿美元被拍卖。