`
BradyZhu
  • 浏览: 248143 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

设计模式之觞

 
阅读更多

最近,读《编程人生》采访Jamie谈到有关对“设计模式”的看法,Jamie回答:

“有本书叫《设计模式》,人人追捧,奉为圭臬。许多人都对这书着了魔,参加各种会议时,他们嘴里不时蹦出从书中读到的术语。比方说,反转-翻转-两次后空翻模式,简直一派胡言。”我们都知道,设计模式这本书里没有什么“两次后空翻模式”,Jamie只是在讽刺那些拿着这本“配方书”,找几个相近的模式,套着用就以为是设计和编程的人。

我在读书时,刚接触面向对象编程。有老师推荐《设计模式》这本书,我当时也读了,然后在课程实践中总是想方设法的去套用更多的模式,以体现程序的设计感。偷笑

如今想来十分可笑,所以在看到Jamie有关设计模式这段评价后不禁莞尔。《设计模式》像一本菜谱,从来没做过什么菜的人才需要经常去看菜谱,然后照猫画虎。

有过照着菜谱做菜的经历,会看到这样的描述:”将瘦肉切成约5厘米长、2.5厘米宽、0.3厘米厚的大薄片,锅里倒入30克油 ,烧热后翻炒5分钟等等“,然后我们不知所措,

因为5厘米、30克、5分钟这种描述实在太难掌握了,厨师有一种能力叫火候、设计和编程也同样,没有大量的思考与实践你没法从一本薄薄的“配方书‘中学到真正解决问题的方法。


这又让我想到了面试时,都喜欢问设计模式问题。如今模式基本已经固化在很多成熟的开源框架中。

例如最流行ssh框架,spring固化了单例、工厂等模式、struts固化命令模式、hibernate固化了适配器等模式,即使刚毕业的学生按照这些固定的编程框架也能写出符合规范模式的程序,但了解这些模式和真正的设计编程差距甚远。


正如从没有大厨看着菜谱去制作满汉全席的,真正的大师也不会套着模式去设计编程。

模式是前人解决某类问题方式的总结,合理与否在于你对问题域的判断,重点在问题域而非方式,设计的中心永远是问题域的界定,才是方式的取舍与平衡。

当你解决了一个前人从没有解决的问题时,你走过的路,后来的追随者会给它起个名字”XX模式“。

分享到:
评论

相关推荐

    设计模式之简单工厂模式

    设计模式之简单工厂模式,有文档解说,有代码案例。很适合初学者学习!

    设计模式之工厂方法模式

    设计模式之工厂方法模式,有文档解说,有代码案例。很适合初学者学习!

    Head First 设计模式-高清.pdf

    注:在第六章 命令模式(包括)之后一部分为影印版PDF,电脑上是不影响阅读的,手机上应该也没多大问题,介意的慎下

    Java中23种经典设计模式详解 - JAVA编程语言程序开发技术文章 .mht

    附件信息为Java中存在的23中经典设计模式详细解答,适合Java爱好者查看资料。

    软件工程学习教程第二章.ppt

    它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。...

    软件工程学习压缩包第一章.rar

    它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。...

    html5+css3

    本人搜集的一些html5+css3的一些书。包括HTML5与CSS3权威指南(扫描版)、HTML5与CSS3设计模式、响应式Web设计:HTML5和CSS3实战等等

    手机设计图

    手机开发模式

    jd试用助手0914

    3.关注领京豆和签到领京豆的穷举模式优化 4.重新设计了数据接口 5.增加了双击试用申请试用 6.修复了没有点击关键词过滤申请的时候还会过滤的问题 7.默认关闭实时刷新,有需要的可在账号管理手动打开此功能 8.去掉了...

    flashFXP FXP/FTP管理软件

    像 LeapFTP 一样的外观界面,甚至设计思路也差相仿佛。支持文件夹(带子文件夹)的文件传送、删除;支持上传、下载及第三方文件续传;可以跳过指定的文件类型,只传送需要的文件;可以自定义不同文件类型的显示颜色;...

Global site tag (gtag.js) - Google Analytics