架构的定义
先来看看软件架构的普遍定义吧。
- 一个程序和计算系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构建,构建的外部可见属性以及它们之间的相互关系。
- 体系结构并非可运行软件。确切的说,它是一种表达,使软件工程师能够:
- 分析设计在满足规定需求方面的有效性。
- 在设计变更相对容易的阶段,考虑体系结构可能的选择方案。
- 降低与软件构造相关联的风险。
软件架构的生命周期
软件开发有其生命周期,它应该是:
软件架构的重要性
为什么说一个软件架构是很重要的呢span style=”font-size: 12px;”>直接编程直接开发,多EASY看下面几点:
- 软件架构能够满足系统的品质
- 架构设计使受益人达成一致的目标
- 架构设计能够支持计划编制过程
- 架构设计对系统开发的指导性
- 架构设计能够有效地管理复杂性
- 架构设计为复用奠定了基础
- 架构设计能够降低维护费用
- 架构设计能够支持冲突分析
什么是好的软件架构
这个问题,可能大家一直都在问,包括一些IT企业也在问,对于这个问题的回答,可能不仅仅是一个简单的语句或者是定义就可以回答的出的,我们来看下面的几个形象的例子:
大家看看上面这幅图是什么
一个是清代的八股文,一个是孔乙己。
还记得回字的四种写法吗
那么你专门就研究回字的四种写法 ,但你有没有想过我把回字折开来又可以变成几个字否好折
要知道最时髦的并不一定是最好的
大家看左边的这个图,是美国的“阿利伯克级”宙斯盾驱逐舰,右边的是印度模仿美国的宙斯盾自己设计和建造的”德里级”的“咖喱盾”驱逐舰。
两艘战舰一对比,怎么样
- 一个是模块化的设计,整体线条流畅,战损时模块可以任意替换。
- 一个却是拼拼凑凑,线路外露,甲板上布满了各种电子设备和天线,一旦战损,极难维护
架构之美
架构,架构,到底什么是架构以前上大学时有一个70多岁的老教授,他上课每讲20分钟左右,需要2个同学”架“着去上一次WC,我们的架构师当然不是指这种”架构湿“。那么我们一直说的架构,到底它是一个什么样的东西呢怎么样又可以做出一个完美的架构呢
架构就像是迷踪拳
动作轻灵敏捷,灵活多变
它其实违背一切传统拳法,因此可以克敌制胜。
架构就像是一件艺术珍品
有时一个看似简单的架构往往却是一件艺术珍品。
架构时需要考虑的几个基本因素
上面这张图,我们这样来看,它分为3个部分:
- 顶部,是我们需要掌握的一些技术领域的知识,它可以使我们应对通用领域如电商、企业OA、银行保险金融等领域的一些解决方案和设计
- 中部,为了达到顶部这些技术我们需要了解的一些中间件、数据库、开发框架这些知识,它是一根支柱
- 底部,底部呢是我们的基础,为铺设我们通向中间或者更上层的一个基石,这也是为什么大家有时发觉我的博客和其它博客有不一样的地方,不仅仅有编程还有”中间“的这一层即数据库、性能、安全、框架搭建这些东西混合在里面的原因,因为我不希望大家通过阅读完了我的博客还只是停留在一个码农、码工、螺丝钉的这种水平上。
架构师的职能
说了这么多架构,我们来说说架构师吧。
一般就是把系统架构师和应用架构师合成一类。这个从本质上来讲倒没有什么太大的区别,不伤大雅。
架构师会做什么
一个架构师在一个团队中或者说在一个企业中它具体要做哪些日常工作呢
架构师需要掌握的软技巧
技术,是架构师的Hard Skill,那么架构师的Soft Skill有哪些呢
如何成为架构师
需要掌握的基本功中的基本功
放正你的心态
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!