自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如果你只會Java,那任何事看起來都是類

開發(fā) 后端
本文是從 If the only tool you have is Java, everything looks like a class 這篇文章翻譯而來。

在軟件開發(fā)領域,有一句話經常被拿來用:

如果你手頭只有錘子,那所有東西看起來都像釘子

這句話有各種各樣的類似的說法,但最初的來源是工具定律,也叫做馬斯洛的錘子

我是今天在閱《Head First 設計模式》這本時想到這個故事的。(一本奇書,不確定我是否該推薦你們讀這本書。)

讓我印象深刻的東西是,對于任何設計上的問題,Java里給出的解決方法都是創(chuàng)建一個新類。我很吃驚,這種語言里基本上沒有第二種用于抽象代碼的方法。我已經用慣了帶有l(wèi)ambdas語法的語言,所以,舉個例子,為了封裝一個“開燈”的動作,你需要創(chuàng)建一個LightOnCommand類來實現(xiàn)Command接口,這種做法感覺就是浪費腦力、字符,精神。我討厭這嚴重受限的代碼表達能力。

馬斯洛的錘子

馬斯洛的各種言論中,有一個關于錘子的比喻,是在提醒主觀與客觀的相互作用,被他多次重復,十分重要。

下面就是馬斯洛的錘子語錄:

  • "When the only tool you have is a hammer, every problem begins to resemble a nail."
  • 當你手里***的工具是錘子時,所有的問題看起來就像是釘子。
  • "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."
  • 即如一個人的工具箱內只有錘子,所有的問題就看起來像釘子。
  • "When all you own is a hammer, every problem starts looking like a nail."
  • 當你所有的擁有僅僅是錘子,所有的問題就開始看起來像釘子。

【編輯推薦】

  1. 關于OpenJDK作為Linux平臺默認Java的解答
  2. Java Web框架Play Framework 2.0預覽版發(fā)布
  3. Java 8決定采用跟C#一樣的Lambda句法
  4. 深入Java,初探JVM
  5. Java中的IO整理完整版
責任編輯:艾婧 來源: 外刊IT評論
相關推薦

2024-09-13 16:19:47

2021-12-19 22:48:53

JavaScript開發(fā)代碼

2022-02-28 12:57:09

GNOMEPlasma桌面

2013-12-30 10:06:51

智能硬件3D打印互聯(lián)網化

2016-08-01 11:33:40

云遷移云安全合規(guī)性

2023-07-11 15:43:16

JavaScript技巧

2021-02-02 13:23:47

Python語言線程

2022-03-30 14:23:48

LibreOfficOffice開源

2022-02-21 12:05:49

LibreOffiLinux工具欄

2020-02-26 21:57:09

Lambdajava8方法引用

2011-08-31 10:00:22

2021-08-27 07:47:06

gecode

2024-08-27 15:25:33

2012-04-11 09:44:42

谷歌Chrome OS

2014-11-07 10:26:05

2024-05-23 08:31:34

2023-08-29 08:01:39

2020-06-29 15:00:31

UbuntumacOSLinux

2022-11-09 15:36:11

Javascript技巧代碼

2023-08-01 14:36:00

JavaScript開發(fā)
點贊
收藏

51CTO技術棧公眾號