如果你只会Java,那任何事看起来都是类

在软件开发领域,有一句话经常被拿来用:

如果你手头只有锤子,那所有东西看起来都像钉子

这句话有各种各样的类似的说法,但最初的来源是工具定律,也叫做马斯洛的锤子

我是今天在阅《Head First 设计模式》这本时想到这个故事的。(一本奇书,不确定我是否该推荐你们读这本书。)

让我印象深刻的东西是,对于任何设计上的问题,Java里给出的解决方法都是创建一个新类。我很吃惊,这种语言里基本上没有第二种用于抽象代码的方法。我已经用惯了带有lambdas语法的语言,所以,举个例子,为了封装一个“开灯”的动作,你需要创建一个LightOnCommand类来实现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预览版发布
  3. Java 8决定采用跟C#一样的Lambda句法
  4. 深入Java,初探JVM
  5. Java中的IO整理完整版

网站栏目:如果你只会Java,那任何事看起来都是类
文章链接:http://www.hantingmc.com/qtweb/news29/444179.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联