郑州北大青鸟翔天信鸽软件学院
您现在的位置:北大青鸟 首页 > 郑州北大青鸟新闻动态 > 行业新闻 > >正文
开班日期
开设班级
开班状态
04日28日
APP手机开发
已满
04月25日
高中软件班
已满
04月15日
校长软件推荐班
余5座
04月24日
IT体验活动
热招
04月20日
java就业班
热招
04月19日
大学生java就业班
余5座
真正的架构师是什么?
发布来源:郑州北大青鸟 发布时间:2020-04-18 16:45 点击次数:65
文章摘要:
在软件行业,开发人员对什么才是架构师,一直都有很多争论,每个人都有自己的理解。在讨论架构之前,我们要先知道架构的定义,如果对架构的理解都不一样,那沟通起来也不会顺畅。 架构的定义和本质 Linux有架构、JVM有架构、MySQL也有架构,使用Java开发等的

  在软件行业,开发人员对什么才是架构师,一直都有很多争论,每个人都有自己的理解。在讨论架构之前,我们要先知道架构的定义,如果对架构的理解都不一样,那沟通起来也不会顺畅。

 



架构的定义和本质

Linux有架构、JVM有架构、MySQL也有架构,使用Java开发等的业务系统也有架构,想要清楚以上几点需要梳理几个有关系而又相似的概念:系统与子系统、模块与组件、框架与架构:
1、系统与子系统
系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能独立完成的工作能力的群体。
子系统是由一群关联的个体组成的系统,多半是更大系统中的一部分。
2、模块与组件
模块和组件都是系统的组成部分,只是从不同角度拆分系统而已。模块是逻辑单元,组件是物理单元。
3、框架与架构
框架是组件实现的规范,架构是结构。架构是经过系统性的思考,权衡利弊之后在现有资源约束下的最合理决策,最终明确的系统骨架。
对架构师来说,需要具备理解业务、全局把控、选择合适技术、解决关键问题、指导研发落地实施等技能。



架构分类和分层

架构分类可细分为业务架构、应用架构、技术架构、部署架构和代码架构。业务架构是战略,应用架构是战术,技术架构是装备。其中应用架构不仅要承接业务架构的落地,还会影响技术选型。
对架构师来说,如何针对当前需求选择合适的应用架构,面向未来,保证架构平滑过渡,是需要深度思考的问题。
1、业务架构
业务架构包括业务规划、业务模块、业务流程,拆分整个系统的业务,设计领域模型,把现实的业务转化为抽象对象。
对软件开发人员来说,没有最优架构,只有最合适的架构,所有的设计原则都要以解决业务问题为最终目标。
2、应用架构
应用架构也叫剖面结构和逻辑架构图,和业务架构是相辅相成的,业务架构的每一部分都有应用架构的身影。
应用架构作为独立可部署的单元,为系统划分了明确的边界,影响着系统功能组织、代码开发、部署和运维等各方面。
应用分层主要有2种方式,一种是横向的水平分,按照功能处理顺序划分应用,一种是纵向的垂直分,按照不同的业务类型划分应用。


3、数据架构
数据架构指导数据库设计,需要考虑开发中涉及到的数据库、实体模型和物理架构中数据存储的设计。
4、代码架构
代码架构也叫做开发架构,子系统代码架构主要为开发人员提供切实可行的指导。
5、技术架构
技术架构确定组成应用系统的实际运行组件,这些运行组件之间的关系,以及部署到硬件的策略。
6、部署拓扑架构图
拓扑架构包括架构部署了几个节点,节点之间的关系,服务器的高可用,网络接口和协议等,决定了应用如何运行。