
课程咨询: 400-996-5531
投诉建议: 400-111-8989
认真做教育 专心促就业
软件架构开发技术随着互联网的不断发展而越来越多样化,而本文我们就通过案例分析来简单了解一下,程序员需要掌握哪些软件架构技术。
1、结构
结构是系统架构的重要组成部分,其从宏观上表述了系统的结构组成。架构设计的核心任务之一是为系统选择合适的架构风格。比如,架构师基于上下文的权衡,可以选择模块化单体架构风格,也可以选择微服务架构风格。
2、架构属性
架构属性亦称质量属性,或非功能属性,通常表示系统需要具备或满足的某种“能力”,比如高性能、可扩展性、弹性、伸缩性、容错性、可测试性、可维护性等等。架构设计的目标需要关注系统需要满足的架构属性,架构终要体现对架构属性支持的相关架构决策。架构属性众多,系统需要关注的是这些架构属性的子集,具体的某次特定的架构设计所需要关注的架构属性需要依据问题域的上下文而具体分析。同时,不同的架构属性间可能存在冲突,这种情况同样需要架构师的权衡和决策。
3、架构决策
架构决策是系统架构设计过程中对解决方案的选择,其描述了系统必须遵循的规则。架构决策随着权衡分析而自然存在,其是系统架构设计的重要维度之一。并不是所有的决策都是架构决策,架构决策应该关注对系统有重要影响的部分。比如对架构风格的选择对系统存在重要影响,其改变的成本较高,理当属于架构决策的范畴。
•直接影响高优先级的架构属性
•修改对外接口:对外提供的接口修改往往需要进行充分影响分析
•引入或者移除依赖:依赖的加入和移除往往标示着组件能力的引进和废弃
•改变系统的通用结构:工程结构是应用架构的重要维度之一
•迫使研发人员改变开发方式
•接受战略性技术债:重构影响较大的技术债往往对现有系统会有较大影响
注:架构决策建议以轻量级的文档化形式进行记录,参考文章《轻量级的架构决策记录机制》一文
4、设计原则
设计原则与架构决策不同,其本质区别是:设计原则是一种指导,而非强制的规则。架构决策需要遵守,设计原则提供参考性指引。
比如,设计原则可能是:在可能的情况下,跨系统间的通信尽可能使用异步消息机制以提高性能和降低耦合。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。