新聞中心
這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如果你只會(huì)Java,那任何事看起來都是類
在軟件開發(fā)領(lǐng)域,有一句話經(jīng)常被拿來用:

如果你手頭只有錘子,那所有東西看起來都像釘子
這句話有各種各樣的類似的說法,但最初的來源是工具定律,也叫做馬斯洛的錘子。
我是今天在閱《Head First 設(shè)計(jì)模式》這本時(shí)想到這個(gè)故事的。(一本奇書,不確定我是否該推薦你們讀這本書。)
讓我印象深刻的東西是,對(duì)于任何設(shè)計(jì)上的問題,Java里給出的解決方法都是創(chuàng)建一個(gè)新類。我很吃驚,這種語言里基本上沒有第二種用于抽象代碼的方法。我已經(jīng)用慣了帶有l(wèi)ambdas語法的語言,所以,舉個(gè)例子,為了封裝一個(gè)“開燈”的動(dòng)作,你需要?jiǎng)?chuàng)建一個(gè)LightOnCommand類來實(shí)現(xiàn)Command接口,這種做法感覺就是浪費(fèi)腦力、字符,精神。我討厭這嚴(yán)重受限的代碼表達(dá)能力。
馬斯洛的錘子
馬斯洛的各種言論中,有一個(gè)關(guān)于錘子的比喻,是在提醒主觀與客觀的相互作用,被他多次重復(fù),十分重要。
下面就是馬斯洛的錘子語錄:
- "When the only tool you have is a hammer, every problem begins to resemble a nail."
- 當(dāng)你手里***的工具是錘子時(shí),所有的問題看起來就像是釘子。
- "He that is good with a hammer tends to think everything is a nail."
- 善用錘子的人傾向于把所有的事都看成釘子。
- "If the only tool you have is a hammer, you tend to see every problem as a nail."
- 假如你手里***的工具是錘子,你容易把所有的問題都看成釘子。
- "If you only have a hammer, you tend to see every problem as a nail."
- 假如你僅有錘子,你就傾向于把所有問題看成釘子。
- "To the man who only has a hammer in the toolkit, every problem looks like a nail."
- 即如一個(gè)人的工具箱內(nèi)只有錘子,所有的問題就看起來像釘子。
- "When all you own is a hammer, every problem starts looking like a nail."
- 當(dāng)你所有的擁有僅僅是錘子,所有的問題就開始看起來像釘子。
【編輯推薦】
- 關(guān)于OpenJDK作為L(zhǎng)inux平臺(tái)默認(rèn)Java的解答
- Java Web框架Play Framework 2.0預(yù)覽版發(fā)布
- Java 8決定采用跟C#一樣的Lambda句法
- 深入Java,初探JVM
- Java中的IO整理完整版
分享文章:如果你只會(huì)Java,那任何事看起來都是類
網(wǎng)站路徑:http://m.fisionsoft.com.cn/article/dhippco.html


咨詢
建站咨詢
