- 2
- 0
- 约4.22千字
- 约 5页
- 2021-01-24 发布于北京
- 举报
2018/8/15 极客时间 | 程序员进阶攻略
无须再重复相同的工作。
而《设计模式》一书借鉴了建筑领域的定义和形式,原书中是这么说的:
本书中涉及的设计模式并不描述新的或未经证实的设计,我们只收录那些在不同系
统中多次使用过的成功设计;尽管这些设计不包括新的思路,但我们用一种新的、
便于理解的方式将其展现给读者。
虽然该书采用了清晰且分门别类的方式讲述各种设计模式,但我相信很多新入门的程序员在看完
该书后还是会 像我当年一样有困扰,无法真正理解也不知道这东西到底有啥用。
早年我刚开始学习 Java 和面向对象编程,并编写 JSP 程序。当我把一个 JSP 文件写到一万行代
码时,自己终于受不了了,然后上网大量搜索到底怎样写 JSP 才是对的。之后,我就碰到了
《设计模式》一书,读完了,感觉若有所悟,但再去写程序时,反而更加困扰了。
因为学 “设计模式” 之前,写程序是无所顾忌,属于拿剑就刺,虽无章法却还算迅捷。但学了
一大堆 “招式” 后反而变得有点瞻前顾后,每次出剑都在考虑招式用对没,挥剑反倒滞涩不
少。有人说:“设计模式,对于初窥门径的程序员,带来的麻烦简直不逊于它所解决的问
题。”回顾往昔,我表示深有同感。
后来回想,那个阶段我把《设计模式》用成了一本 “菜谱” 配方书。现实是,没做过什么菜只
是看菜谱,也只能是照猫画虎,缺少好厨师的那种能力——火候。初窥门径的程序员其实缺乏
的就是这样的“火候”能力,所以在看《设计模式》时必然遭遇困惑。而这种“火候”能力则源
自大量的编程设计实践,在具体的实践中抽象出模式的思维。
“设计模式” 是在描述一些抽象的概念,甚至还给它们起了一些专有名字,这又增加了一道弯
儿、一层抽象。初窥门径的程序员,具体的实践太少,面临抽象的模式描述时难免困惑。但实践
中,经验积累到一定程度的程序员,哪怕之前就没看过《设计模式》,他们却可能已经基于经验
直觉地用起了某种模式。
前面我说过我刚学习编程时看过一遍《设计模式》,看完后反而带来更多的干扰,不过后来倒也
慢慢就忘了。好些年后,我又重读了一遍,竟然豁然开朗起来,因为其中一些模式我已经在过往
的编程中使用过很多次,另一些模式虽未碰到,但理解起来已不见困惑。到了这个阶段,其实我
已经熟练掌握了从具体到抽象之间切换的思维模式,设计模式的 “招数” 看来就亲切了很多。
在我看来,模式是前人解决某类问题方式的总结,是一种解决问题域的优化路径。但引入模式也
是有代价的。设计模式描述了抽象的概念,也就在代码层面引入了抽象,它会导致代码量和复杂
度的增加。而衡量应用设计模式付出的代价和带来的益处是否值得,这也是程序员 “火候” 能
力另一层面的体现。
/column/article/13294 2/5
2018/8/15 极客时间 | 程序员进阶攻略
有人说,设计模式是招数;也有人说,设计模式是内功。我想用一种大家耳熟能详的武功来类
比:降龙十八掌。以其中一掌“飞龙在天”为例,看其描述:
气走督脉,行手阳明大肠经商阳…此式跃起凌空,居高下击,以一飞冲天之式上
跃,双膝微曲,提气丹田,急发掌劲取敌首、肩、胸上三路。
以上,前半句是关于内功的抽象描述,后半部分是具体招数的描述,而设计模式的描述表达就与
此有异曲同工之妙。所以,设计模式是内功和招数并重、相辅相成的 “武功”。
当你解决了一个前人从没有解决的问题,并把解决套路抽象成模式,你就创造了一招新的 “武
功”,后来的追随者也许会给它起个新名字叫:某某模式。
开发框架
不知从何时起,写程序就越来越离不开框架了。
记得我还在学校时,刚学习 Java 不久,那时 Java 的重点是 J2EE(现在叫 Java EE 了),而
J2EE 的核心是 EJB。当我终于用“JSP + EJB + WebLogic(EJB 容器)+ Oracle 数据库”搭
起一个 Web 系统时,感觉终于掌握了 Java 的核心。
后来不久,我去到一家公司实习,去了以后发现那里的前辈们都在谈论什么 DI(依赖注入)和
IoC(控制反转)等新概念。他们正在把
您可能关注的文档
最近下载
- 2015款_威朗使用说明书.pdf VIP
- DB21_T 2943-2018农村生活污水处理技术指南.docx VIP
- 2025年浙江省单独考试招生文化考试语文试卷及答案.docx VIP
- 《公共数据 数据分类分级规范》(DB54T 0423-2024).pdf VIP
- 环卫工人工资专用账户管理协议示范文本模板.docx VIP
- 2023年浙江省单独考试文化招生语文试卷 含答案.docx VIP
- 外研版(2024新版)七年级上册英语全册教案(单元整体教学设计).pdf VIP
- gb2828抽样计划表培训课件.ppt VIP
- 浅谈民间童谣在幼儿园课程中的整合策略.doc VIP
- 违法发放贷款罪专题讲座参考课件.pdf VIP
原创力文档

文档评论(0)