最近在找工作,今天被問到了乙個壓根就沒思考過的問題: 為什麼要使用設計模式? 恩,估計我要是被錄用了,那應該不會是乙個普通的程式設計師了,多有內涵的問題啊!在一做專案就用ssh做架構的今天,我連在**需要使用設計模式都不知道,也就沒思考過為什麼要使用設計模式了。不過了,面試就是面試,面試的題目不管多刁鑽,要是能全答出來了,估計工作問題也就能夠很容易解決了。所以了,路上想了想,回家之後也在網上查了查資料,總結如下:
1、設計模式是前人根據經驗總結出來的,使用設計模式,就相當於是站在了前人的肩膀上。
2、設計模式使程式易讀。熟悉設計模式的人應該能夠很容易讀懂運用設計模式編寫的程式。
3、設計模式能使編寫的程式具有良好的可擴充套件性,滿足系統設計的開閉原則。比如策略模式,就是將不同的演算法封裝在子類中,在需要新增新的演算法時,只需新增新的子類,實現規定的介面,即可在不改變現有系統原始碼的情況下加入新的系統行為。
4、設計模式能降低系統中類與類之間的耦合度。比如工廠模式,使依賴類只需知道被依賴類所實現的介面或繼承的抽象類,使依賴類與被依賴類之間的耦合度降低。
5、設計模式能提高**的重用度。比如介面卡模式,就能將系統中已經存在的符合新需求的功能**相容新的需求提出的介面
。6、設計模式能為常見的一些問題提供現成的解決方案。
7、設計模式增加了重用**的方式。比如裝飾器模式,在不使用繼承的前提下重用系統中已存在的**。
為什麼要使用blog
有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...
為什麼要使用XML
xml 代表擴充套件標記語言 extensible markup language 是由 world wide web consortium w 3c 的 xml工作組定義的。這個工作組是這樣描述該語言的 擴充套件標記語言 xml 是 sgml 的子集,其目標是允許普通的 sgml 在web 上以目...
為什麼要使用Nginx?
有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...