[系统架构]抛砖引玉:闲聊下架构、框架,以及架构师

本文探讨了软件架构与框架的概念及其重要性,分析了架构与框架之间的关系,并介绍了如何进行架构验证,确保软件项目的高效开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



我们先来看看本人对以下这两个名词的个人见解:

  • 软件架构:

差点儿每一个软件系统的架构都是不同的,因为软件架构的第一步就是依据当前项目的重要需求及约束来制定一个个技术决策。

  • 软件框架:

能够分成行业框架和通用框架。

    1. 通用框架是对大多数软件项目经常使用的模块(底层+高层)进行封装(同一时候暴露热点)的一个集合。能提高开发速度以及质量
    2. 行业框架是针对某特定领域,把相似领域逻辑提取出来进行封装(同一时候暴露热点)的一个集合。能提高开发速度以及质量
    3. 行业框架能够是基于通用框架之上的。

站在架构师的角度,针对架构的开发。会慢慢演变为针对框架的开发(因为须要考虑复用以及对开发者友好API特性)

  • 伸缩性:通常是指机器级别的横向扩展,如:webserver的横向扩展、数据库的读写分离、中间件的横向扩展
  • 扩展性:是指当需求变更时,系统是否能非常easy的进行改动、扩展。

  • 简洁性:直接的观念是AOP。因为AOP能让开发者集中注意力于业务逻辑上,而不须要过多考虑非业务逻辑代码(比方日志、权限、參数的基本验证等)
  • 性能:与伸缩性、算法优化、充分利用CPU能力有关


因为每一个项目都是不同的,因此架构也大多数不同。可是因为人的精力有限。不可能样样都精通,因此当架构初始化之后,针对不熟悉的
架构还须要进行架构验证(如同測试人员的BVT)。

因此对架构师而言,个人的学习能力、学习速度以及实践能力都非常重要。那么怎样进行架构验证呢?
1. 找几个开发者评审评审框架提供的API,看看反馈,须要改动则改动。或者通过技术培训解决
2. 使用AOP技术插入必要的日志、性能计数器、内存占用数(当然也能够用其它技术,并不是仅仅有AOP技术)
3. 自己进行性能測试、性能分析;或者找技术性測试人员来做

最后别忘了当项目进行之前先进行技术培训,解说框架的实现原理以及怎样使用。

综上所述,框架与架构质量的好坏会严重影响使用者的效率。如:开发者的开发效率。架构师责任重大啊。

附上一个架构总览图:

架构总览图



欢迎大家来跟帖讨论哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值