更新旧博文暨推荐好书《研磨设计模式》

最近收到《研磨设计模式》一书,感觉写得很好。看了一些章节后,再回想起Ext好像也有很多设计模式应用的地方,于是整理以前的一篇旧文《Ext 与设计模式》,就是这么多啦。

从 Ext 的源码看,作者编码之时参考了不少设计模式方面的宝贵经验,运用到许多类的设计中去的。可是一旦上升到“设计模式”,有朋友说不值当,大意是受限于 Script 级别的话搞“设计模式”会不讨好的说。言下之意,我只不过在弄 Widget 罢了,真不必劳师动众搬弄设计模式,许多好用的 Widget 不是没有设计模式的指导也可以在项目上运行得好好的?

拜托一下大家点击:

来自CSDN的评价:  kogen117518 2010-12-09 14:37   有斐君子,如琢如磨——《研磨设计模式》试读有感
初读此书名,不禁哑然失笑,何谓研磨?视设计模式为药材乎?
  试阅其数章节,乃恍然。著者取此书名恰如其分,亦含深意。
  诗经有云:“有斐君子,如切如磋,如琢如磨”。朱子注曰:“治玉石者,既琢而复磨之。皆言其治之有绪,而益致其精也。道,言也。学,谓讲习讨论之事,自修者,省察克治之功。”做人如是,做学问亦如是,道理相通。学设计模式既得先研之,而后复细磨之,方可达至善之境地。
纵观国内外设计模式书籍,前有GoF的《设计模式:可复用面向对象软件的基础》高山仰止,后有《HeadFirst设计模式》、《大话设计模式》等深入浅出、寓教于乐,亦有《设计模式之禅》之娓娓道来、匠心独具。论前者,虽为设计模式之经典,但功力未足者读时未免云里雾里不知其然;论后者,于小处说大道理,使读者得以登堂入室,一窥设计模式之门径,然而大多止步于就事论事,往往知其然而不知其所以然。
  而《研磨设计模式》一书,采众家之长而补其不足,通俗易懂之余亦抽丝剥茧,将其最根本之道理披露无遗。例如于单例模式中将懒汉方式及饿汉方式展开对比,又将懒汉方式逐步展开,一一加以说明。其中对getInstance()方法为何需为静态方法亦有阐述,这对于尚未有太多编程经验之读者大有裨益。这等著者细心之处,此书中俯拾皆是。更为难得之处,著者从实际工程应用着手,举一反三,将理论和实际相映照。例如单例模式中涉及Java的缓存方式,简单工厂中亦采用了反射+配置文件的实现。
  本书另有一特点,乃为示例代码正误俱备。观其不良设计之代码,常与我心有戚戚焉。以往乃至于当前的项目中,何尝不曾有此等鱼目混珠之辈掺杂其中。再观之后的优良设计,往往有醍醐灌顶之感。
  目前寥寥试读几章,尚属窥一斑而未得见全豹。若论其不足,于何时选用该模式及相关模式之讨论中,著者似乎着墨不多。其语虽属画龙点睛之句,但若读者项目经验尚浅,乃初学设计模式,恐难有心神领会。此处犹如隔靴搔痒,令人有意犹未尽之微憾。然瑕不掩瑜,此书在设计模式之领域,可谓一朵新的奇芭。

时间: 2024-10-26 20:00:42

更新旧博文暨推荐好书《研磨设计模式》的相关文章

好讨厌的验证要求啊-js不太会,求各位仁兄推荐好书

问题描述 js不太会,求各位仁兄推荐好书 有没有js的一些实例,可以供参考的,是一个案例,会产生一种效果,不要长篇大论的(头很晕的~~),或者个人觉得不错的也可以啊(( ^_^ )不错嘛),谢谢啦

lucene怎样在做增量索引的同时更新旧数据?

问题描述 现在的项目要求做近实时索引,大约15分钟更行一次.数据会不断新增,而旧数据也会经常被修改.我计划用增量索引来做,根据数据库的更新时间来添加文档.但被更新的文档可能索引里已经有了,添加之后数据可能会重复.请问如何消除这种重复的可能性,是每添加一个document时都先查一下索引里是不是已经有,还是记录数据库所有的修改操作并将id放到队列里,跑索引的时候一起更新?请问lucene有没有更好的内部机制解决这个问题,比如能不能像数据库一样指定unique的字段? 解决方案 方案1: 你修改的数

苹果更新App Store软件推荐,增加一次性付款游戏

据外媒报道,苹果又对App Store的软件推荐版块进行了内容更新,这次,它在当中增加了一个新的类别--"Pay Once &Play",即只需付款一次的游戏,也就是说,它们不存在应用内购买的情况.不过目前该类型只出现在欧洲和美国的App Store,相信很快,其他市场也会上线这一类别.在"Pay Once &Play"下也有多个分类,如最近发布.大制作游戏.App Store原创等. 据悉,在过去的几年时间里,苹果因软件应用内购买问题而受到了一些非

《研磨设计模式》试读样章

第1章  设计模式基础 1.1  设计模式是什么 1.1.1  什么是模式      从字面上来看,模,就是模型.模板的意思:式,就是方式.方法的意思.综合起来,所谓模式就是:可以作为模型或模板的方式或方法.再简单点说就是可以作为样板的方式或方法,类似于大家所熟悉的范例. 1.1.2  设计模式的概念 按照上面的理解,设计模式指的就是设计方面的模板,也即设计方面的方式或方法. 1.设计模式是解决方案 根据上面对设计模式的定义可以看出,归根结底,设计模式就是一些解决方案. 所谓解决方案,就是解决办

迷上了shell编程,推荐好书一本

shell编程,类似dos下的批处理文件,也有很大不同,shell更接近一门编程语言.最近迷上了这玩意,入门很容易,再深入就有点难了,写了几个简单的script处理日常命令,用着蛮爽,大大提高了我继续深入学习linux的积极性,待复习了C语言基础,准备读读<UNIX/LINUX编程实践教程>.前天在emule下了<EveryDay Scripting With Ruby>,这本书在amazon评价很高,昨天一口气读了6章,非常不错.这本书适合ruby初学者,有一定ruby使用经验的

《研磨设计模式》试读样章 第五章

<!-- --> 第5章  单例模式(Singleton)  5.1  场 景 问 题 5.1.1  读取配置文件的内容 考虑这样一个应用,读取配置文件的内容. 很多应用项目,都有与应用相关的配置文件,这些配置文件很多是由项目开发人员自定义的,在里面定义一些应用需要的参数数据.当然在实际的项目中,这种配置文件多采用xml格式,也有采用properties格式的,毕竟使用Java来读取properties格式的配置文件比较简单. 现在要读取配置文件的内容,该如何实现呢? 5.1.2  不用模式的

单例模式-研磨设计模式--单例模式--双重检查加锁(一)

* 双重检查加锁:  * "双重检查加锁"的方式可以既实现线程安全,又能够使性能不受到很大的影响.  * 那么什么是"双重检查加锁"机制呢?  *       所谓双重检查加锁机制,指的是:并不是每次进入getInstance方法都需要同步,  * 而是先不同步,进入方法过后,先检查实例是否存在,如果不存在才进入下面的同步块,  * 这是第一重检查.进入同步块后,再次检查实例是否存在,如果不存在,就在同步的  * 情况下创建一个实例,这是第二重检查.这样一来,就只需

Greenplum insert的性能(单步\批量\copy) - 暨推荐使用gpfdist、阿里云oss外部表并行导入

标签 PostgreSQL , Greenplum , HybridDB for PostgreSQL , insert , copy , 外部表 , oss , gpfdist 背景 Greenplum是一款MPP数据库产品,优势是优良的OLAP性能,支持多节点并行计算,实现PB级数据量的实时分析. 除了分析能力,数据写入吞吐也是Greenplum的重要指标,Greenplum支持从master节点写入,也支持从segment节点并行写入. 从segment并行加载的话,性能是线性提升的,因为

InstallShield 2013 Limited Edition安装包不能更新旧版本程序

已经安装了该产品的另一个版本,无法继续安装此版本.可以使用"控制面板"中"添加/删除程序"来配置或删除该产品现有版本. InstallShield Premier Edition生成的安装包则没有这个问题: