OSCHINA答读者问之二:什么是架构?以及什么是架构师?

本文深入探讨了架构的核心概念及其与架构师的角色,阐述了架构在项目范围与构件联接方面的关键作用。通过插件架构的实例,解释了架构设计的基本原则,并强调了架构思维在各个层面的应用。文章还指出,架构并非仅仅与系统规模相关,而是涉及系统内部关系与外部边界的系统化视角。

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

我曾经去给OSCHINA做过一期有关“软件工程实践”的有奖高手问答 (奖是给提问者的,哈哈),现在来看,许多问题仍然可读之处,因此整理成文字,以为众赏。

原贴在这里:http://www.oschina.net/question/12_78459


本篇的问题是:什么是架构?以及什么是架构师?


答:

几位读者​都提到了架构的问题,但架构话题并没有在《大道至简》这本书里讨论过,而在另一本《大道至易——实践者的思想》才有所讨论。不过这里我还是乐于解释一下一些基本的问题,或谈谈我的一些基本的观点。

 
仅以架构而言,要讨论的问题总的来说就两个方面,一是“范围”,就是项目与项目目标要做多大、多久,做到怎样效果的问题,并且围绕这个“范围”来给出一些合理的方案给开发实施的团队。二是“联接件”,就是如果上述的范围要由多个阶段或多个构件来构成,那么这些范围或构件之间如何关联的,以及如何确保这些关联是长期有效的。​


为了简单的说清这个架构的概念,以一个插件的架构来说,就是确定“插件用于补充主体软件的某个功能”,并确定“插件与主体软件之间如何衔接通讯”。那么有了这两点,插件的架构,也就设计完了。把这个模式扩大到一个平台,或一个大型的系统,或者细化到它们的各个局部中去,就是“平台架构”或“系统架构”了。当然,这仅在简单地、形式化地在讨论“架构”这个东西,因为“架构”与规模问题尽管有关系,但并非是一一对应的。不能说“大系统就要架构,小东西就不需要”,这样的认识是不正确的。


架构在根底上来说,是一种系统化的视角。如果你将一个对象理解为“系统”,或“有系统性的”,那么它就必然存在内部的关系与外部的边界——否则,必是离散的,或混沌不清的。而架构的“范围”与“联接件”,谈的就是这个对象的内部关系与外部边界。如果你具有架构思维,那么在你的视角下,凡事、凡物、凡内外,无不如此。


而架构师,要么离散上述关系、肢解上述结构,要么通过明确的方式来固化上述的关系与结构。如是,是做架构。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值