TA的每日心情 | 开心 2024-9-19 21:14 |
---|
签到天数: 757 天 [LV.10]以坛为家III
管理员
- 积分
- 1312677
|
从0开始学架构 极客时间
架构设计的主要目的是 为了解决 软件系统复杂度带来的问题(复杂度 变大 带来了第一次和第二次软件危机)。
对于技术人员来说,“架构”是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现(例如,微信架构、淘宝架构)……虽然“架构”这个词常见,但如果深究一下“架构”到底指什么,大部分人也许并不一定能够准确地回答。例如:架构和框架是什么关系?有什么区别?
Linux 有架构,MySQL 有架构,JVM 也有架构,使用 Java 开发、MySQL 存储、跑在Linux 上的业务系统也有架构,应该关注哪个架构呢?
微信有架构,微信的登录系统也有架构,微信的支付系统也有架构,当我们谈微信架构时,到底是在谈什么架构?
要想准确地回答这几个问题,关键在于梳理几个有关系而又相似的概念,包括:系统与子系统、模块与组件、框架与架构。
程序员的成长绕不开架构设计,有时架构设计就像鸿沟一样挡在程序员晋升之路上,只要跨过去就可以海阔天空。但不少技术能力很强的程序员依然不能完全掌握架构设计,这与架构设计的思维方式和训练机制与写代码有很大差异有关,加之人们对架构设计存在很多误区,缺乏一套行之有效的架构设计方法论,就可能导致在实践过程中把握不住重点、分不清主次;或者,没有彻底掌握架构设计的原则,在设计上举棋不定。也许你还是个架构新手,缺乏一个可以参考指导的架构设计流程;或者,虽然有一定经验,但还不能对已有模式进行技术创新。这些问题都可以在极客时间专栏《从 0 开始学架构》中找到答案。
本教程会从架构基础、三大架构模式和实战的角度分享他一整套的架构设计方法论,希望你学习后不仅能够快速理解陌生的架构设计,自己也能对架构设计游刃有余,并且可以给身边正在迷惘的同学指点迷津,实践所学,分享所学。
|
|