架構師應該掌握哪些設計模式

2021-05-08 19:40:23 字數 981 閱讀 6841

今天去參加了北京博文視點出版社在上海辦的乙個open

party(http://www.douban.com/event/11051981/)。其中有兩個topic給我很大的啟發,乙個是溫昱的《架構

設計的事實與謬誤》,另乙個是老趙(@jeffz_cn)的《web應用中的快取》。

當然,我的收穫未必是他們兩位想要傳達的主旨,只是引發了很多聯想,所以也就不寫思考的過程了,直接說一些結論吧。

1、架構設計需要關注需求,而需求有兩大部分 ,一部分是與業務相關的需求,另一部分是與業務無關的需求。

2、與業務無關的需求,包括可重用性、高效能、可靠性、易用性、安全性等等。

3、經典的gof的設計模式,其實只解決了(甚至只能說部分解決了)可重用性的需求。

4、在高效能的需求領域,也可以總結出很多設計模式,其中,老趙今天特別提出的快取,是跨越n多領域的,提高效能的重要模式。

5、在我看來,要提高效能,無非這麼三大思路:快取、切分、並行。在三大思路之上,還有乙個總的思路,就是找到效能瓶頸,然後嘗試優化這個瓶頸。

6、快取的思路,今天老趙已經談得非常好了,每乙個層次,有每乙個層次的快取實現思路和方案,有優點,有缺點。如果能夠再展開談一談快取模式的共性,就更棒了。也許可以總結為:針對80%的情況進行特殊處理,以更加快捷的方式減少cpu與io。

7、切分,比如將資料分開存放、將靜態內容與動態內容分開處理、將快取分散在多個memcached伺服器上等等等等,總的思路,是將原本的瓶頸分散化、將原本的問題,分別細化處理。

8、並行,當然也是一大門類,就不展開了,總得思路是:讓計算機在同乙個時間斷內,做盡可能多的工作。

9、也許,應該有這麼一本書:《高效能設計模式》,與「以可重用性為目標的設計模式」應該同等重要。

10、依此類推,還應該有《安全性設計模式》、《高可靠性設計模式》、《易用性設計模式》等等,這些跨應用、跨業務、跨領域的設計模式,都是架構設計師,應該深度掌握的設計模式。

11、也許,應該有出版社,組織高人,寫這麼一套《架構師設計模式叢書》出來。

架構師小掌握哪些知識

架構師首先必須具有豐富的開發經驗,是個技術主管。因為他必須清楚什麼是可以實現的,實現的方式有哪些,相應的難度怎麼樣,實現出來的系統面對需求變化的適應性等一系列指標。另外,需要對面向過程 物件導向 面向服務等設計理念有深刻的理解,可以快速的察覺出實現中的問題並提出相應的改進 重構 方案 也就是通常說的...

架構師應該具備哪些思維模型?

架構師一直是程式設計師 羨慕且追求 的高度,今天來說說我 奈學教育ceo 孫玄 眼裡優秀的架構師該如何定義。畢竟我也曾經是一名架構師 在開始今天的話題之前我說乙個和我前公司p9現在已經是p10的對話。問題是這樣的他說公司中介軟體架構師不熟悉公司業務,很多事落地不了,非常的疑惑。他最近主要任務就是和這...

作為一名架構師,我們應該掌握哪些技術呢?

簡單來談一下 常用的資料結構,對於常見的資料結構,演算法,應該知道一些!服務,對於分布式,大一點的專案都會遇到,你可以用ws,wcf,remoting去實現它,它們的原理是你應該知道的,因為你是一名架構師,兄弟們都指著你呢,呵呵!全文檢索 lucene.net,當然lucene只是實現全文檢索的一種...