
程杰
《大话设计模式》通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GoF(设计模式的经典名著——Design Patterns: Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者Erich Gamma、Richard Helm、Ralph Johnson,以及JohnVlissides,这四人常被称为GangofFour,即四人组,简称GoF)总结的23个设计模式。《大话设计模式》共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。《大话设计模式》的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的大智慧。
通俗易懂,适合作为了解设计模式的一本入门读物。 借用鲁迅先生在《故乡》中的一句话概括**设计模式**。 希望是本无所谓有,无所谓无的。 这正如编程的设计模式; 其实编程本没有设计模式,用的人多了,也便成了设计模式。 究其缘由,皆为"解耦"使然。「loose coupled」
书很好,适用于新手、小白。在AI的加持下,能够更快速地理解。设计模式,需要根据场景选择,不可为“炫技”。
太好了这本书,把设计模式讲的通俗易懂,拆解的很精细,给大佬跪了!打算去实践一下,毕竟只靠看可不行。推荐,强烈推荐!
这是一本基于C#的设计模式入门书籍,可能因为我自己也用C#做开发的缘故,感觉比之前看的《秒懂设计模式》更易理解。作者很用心,虚构了两个分别代表大牛和菜鸟的人物,以对话教学的方式对设计模式的应用进行浅显易懂的讲解。值得多看几遍。
书是一本好书,但是在微信读书里没有最新版的(JAVA),只能导书进去看了。
优点是全文大白话,没什么佶屈聱牙的概念,基本看了就能懂为什么这个地方需要这么设计,这样设计带来的好处是什么。配合准备软考的时候的速记口诀,很快就能把23种设计模式背下来创建型模式:单抽元件(建)厂结构型模式:外侨(桥)组员(元)带(代)配饰行为型模式:观摩(模)对(迭)策,责令解放(访),戒(介)忘台(态)
设计模式学习的难度高在于它的概念中充满着抽象的词语,难以捉摸其作用,而本书则是让每个设计模式都动了起来,并结合生活中的例子加以解释,好活当赏!
长话短说,这本书是一本不错的设计模式入门书籍,对话式教学,通俗简单的语言让这本书的阅读门槛变得很低,对于大部分读者阅读时大概不会有什么压力。 但在如今这个时间节点,不算特别推荐这本书,抛开这本书的生活例子比较古早,对于设计模式的具体应用,大概是为了保证通俗性,并没有特别复杂,甚至可以说是为了介绍设计模式而设计问题。具体的应用例子在一定程度上和这个设计模式真正的内涵稍微脱节。读完了之后,你很多时候依然无法回答,这个设计模式是为了解决什么,实际应用是什么。 如今在这个 ai 时代看这些计算机的书籍,(我们且不论未来 ai 到底如何)一部分原因就是让自己在架构和思维上有一定的进步,如果只是泛泛的看,那不如让 ai 收集资料输出,亦或是直接交给 ai 来写了,毕竟是浅尝辄止的看,又有什么分别呢。 那么,有没有相对面向入门又在一定程度上比较深刻的设计模式入门书籍呢?我不是在踩一捧一,感兴趣的朋友可以看看 Game Programming Patterns,虽然看上去面向游戏开发,实际上是非常贴合实际并且有趣,有用的。
不知道是书看少了还是怎样,对前后逻辑不搭的技术类书籍极其没有耐心,前面说某种实现方式有问题,你期待着好的解决方案,后面给出的实现却依然是残次品。 本书最大和唯一的亮点就是 1.5 节,将活字印刷和面向对象进行了类比,进而深刻地说明了“可维护、可扩展、可复用”,非常精彩。 跟设计原则和设计模式有关的内容真的大可不看了,浪费时间,《Head First 设计模式》要好的多得多。
模式介绍:https://www.douban.com/doubanapp/dispatch?uri=/annotation/127070272/&dt_dapp=1 设计模式主要针对面向对象?书中全部采用面向对象的语言进行描述。c和c++的区别也主要体现在这里,介绍面向过程从来不会提到那么多的设计模式,而好的c很多也是按照面向对象来做的,最近在实战c++,对其中有很多的体会:1. 接口:c很容易定义接口,c++因为interface没那么常用(或者默认),所以模块的接口不是那么的清晰,即使去定义interface,也需要专门写一遍,会显得代码啰嗦,开发代码量变大。2. 设计模式: c中都是自然而然形成的设计模式?或许linux中的做法太经典,就把它当作参考,而自然而然的借鉴使用?c++搞那么多设计模式,相似而又不同,还要去记忆?或许是不熟识的原因?3. 语言圣经:c不用考虑,以linux为圣经,有歧义找linux内核实现,c++找谁?找STL?简单的实现,搞的太复杂,是不是不太利于参考学习?linux是逻辑复杂,每个部分的实现都很简单;STL是逻辑复杂,看起来每个部分的实现也一样复杂,导致不太适合去借鉴做法。