`
文章列表
千呼万唤,我的书籍《漫谈设计模式》终于出版了! 为写这本书,我花了两年多的时间,至此,我感谢所有那些一直在我身边支持我的人,我衷心的感谢你们在这两年对我和我的书籍的帮助! 在此特别感谢的我编辑,大成, ...
《漫谈设计模式》的样书今天发过来了,非常高兴,刚给支持我,帮助我,给此书给出珍贵意见的一些朋友刚邮寄完书(很愧疚,很多人支持了我很多,没有送到),顺便拍了照,贴了几张出来。   书籍封面: 扉页: 朋友赠言:   书籍的封面很有质感,有摩挲的感觉,很多人拿到书籍后爱不释手,非常感激编辑费了很大心思帮我做这么多,只是俺手头实在有点紧,没能力送太多,很多支持帮助我的人都没有送到,在此深感抱歉!
      真的爱你 无法可修饰的一对手   --I don't know how to describe those two hands. 带出温暖永远在背后   --They are always warm and always put on my back so I always feel that you are with me and support me. 总是罗嗦始终关注     --You are always "long-winded" and always keep being noticed on me. 不懂珍惜太内疚       --a ...
  Dear my friend,   Finally, my book, “Rambling on design patterns”, has come out!   It took me more than 2 years to finish this. I’d like to thank everyone who supported me along the way. I sincerely appreciate all your help on this book and me in these 2 years.   I especially appreciate t ...
1. 认为“简单原则”,就是不加认真思考,制作最简单易于实现的系统。殊不知真正的简单是深思熟虑之后得到的结果。要多视角考虑,并且,必要时还需要跳出来思考,避免钻牛角尖,这样,才可能拿出真正简单有效的方案。2. 对于难以实现的需求,而不是认真客观地认识和挖掘他们,然后根据可用的技术和资源,找出合理的解决方案,而是否认这些需求的存在。这样往往实现的功能不能满足真正的需求,导致在系统的各个方面都要处理特殊问题(Special Case),这样,一个系统充满处理特殊逻辑的代码,系统开始变得不易维护和扩展。3. 每次使用算法,就自认为需要处理的数据量肯定巨大,性能要求极高。前不久,同事为了设计一个需求, ...
关于软件的核心,莫被算法和技术完全忽悠了 很多人开发多年,对技术一腔热忱,甚至一些企业,居心叵测的企业,打着“招”最聪明的程序员进行“欺骗”和“误导”,在网络上和乃至社会形成了一种风气,这种风气已经严重 ...
根据最近热心读者的反馈,这里列出来一些常见的设计模式的问题,进行解答。如何领悟设计模式中的面向对象思想,还是请下载《漫谈设计模式》 学习设计模式的一些常见问题 1. 模式有没有标准形式? GoF为了描述每一种设计模式,给它们定义了四个基本要素,旨在模式使模式能够得到广泛传播,这并不代表GoF给出的模式就是标准模式。事实上,他们也没有给每一种模式给出标准,而是很多地方给出了它们可能的变化,比如像组合(Composite)模式,有透明的组合模式,也有安全的组合模式,还例如观察者(Observer)模式,有push和pull两种形式。 这些设计模式只是为常见问题给出经验人士的一个参考方案,避免我们重 ...
漫谈设计模式反馈邮箱变为ramblingondesignpatterns@gmail.com,(以前是ramblingonpatterns@gmail.com),本来想给这本书搞个google plus账户谁知为了庆祝这本书的诞生,把时间弄成这本书的书写时间,谁知道无法修改了,直接会被删除,使用信用卡也无法去交费(香港台湾可以,大陆不行),这个账户只能废掉,看来gmail是以人为主,给其他概念性的账户做账户,是不尽人意的。
排查问题时发现了一段粗心的代码: private static boolean test(){ int i=10; { i--; }while(i>0); return true; } 大家认真读完能给出正确结果吗?
这个帖子里将整理出漫谈设计模式一些勘误,在我的发行印刷版本里修改掉。希望大家能够及时反馈,您的细心发现可能会给其他读者意想不到的帮助! 1.page 10, class PassengerByCoach //Travelling by train... System.out.println("Travelling by train...") 应该改为: //Travelling by coach... System.out.println("Travelling by coach...") 2.page30,图里面,Factory接口里面方法名为i ...
南乡子 忆乡小春 晓春墨轻烟,残雪淡淡暗山浓, 寒雀翘立断枝颤,嘤嘤, 跃探无意送人行。 登高倚北望,孤灯寂照斜树影, 皆言男儿不畏远,孰能? 自古英雄怯乡情! 晴雪 北国万丈冰,红日破九天。 飞檐溅珠明,银星刺忪眼。 草舍披羽棉,春枝挂银练。 山花明朝艳,明月今夜弯。 卜算子 悼汶川---08年5月写的,悼念汶川地震,今天放在网上,以作周年纪念悼念只用。 岷江断桥边,哀鸿苦断肠。 已是江水绿如蓝,怎奈天怒降! 今日斩妖魔,天公敢逞强? 待到来年花开时,新城崛如常! 随便写写,平仄可能不对,有机会再改。
Inversion of Control(控制反转,IoC) 大家可能已经知道好莱坞(Hollywood)原则: Don’t call us, we’ll call you.不要找我们,我们会找你。 好莱坞原则在软件开发领域中极受追捧:我们经常把控制逻辑写在其他地方(例如Framework)而非 ...
5.1 概述谈到原型模式,学过Java的人可能会想到java.lang.Cloneable这个接口,以为Java的原型模式描述的就是java.lang.Cloneable接口的使用,这就大错特错了。其实,原型模式在我们日常生活中经常可以看到,比如你刚给你的客厅做了装修,你朋友正好也希望给他的客厅做装修,那么,他可能会把你家的装修方案拿过来改改就成,你的装修方案就是原型。由于很多OOP语言都支持对象的克隆(拷贝)以方便复制对象,但这些方式并不那么完美,后述我们将会讨论。5.2 原型模式当创建这些对象(一般情况是一些大对象)非常耗时,或者创建过程非常复杂时,非常有用,GoF给出的原型模式定义如下:原 ...
看见大家这多大家的踊跃发言,我这里澄清一下,这里给出的书籍主要侧重于软件设计和管理方面,特别是软件设计,说句废话,看完这些书并不代表懂得软件设计,而在于应用,那你将和里面很多观点产生共鸣,理解其中的一 ...
最近写了一本书,免费放在网上(漫谈设计模式)供大家讨论,两个星期过去了,没有任何人反馈。作者翻看了中国人写的几本关于设计模式的书籍,感慨万千,有的没有参考书籍和文献,有的一些概念完全讲错了(例如IoC,老是只和实例化撤在一起),几乎清一色没有严谨论述,不知道看完对OO能理解几分,和国外的几本书籍相去甚远。 难道中国技术设计人员都如此浮躁?那些OO的大师们,没有一个是没有经过数十年如一日的历练才造就的,中国人都想在一两年或者甚至一个下午把设计模式和OO搞懂,是太聪明了还是太愚昧了? 大家看到技术,往往向技术扑过去,觉得会使用spring,Android就很了不起,可惜看看写的代码,就明白他们还 ...
Global site tag (gtag.js) - Google Analytics