美文网首页
《Head First 设计模式》读书笔记之概述

《Head First 设计模式》读书笔记之概述

作者: 天蓬大元 | 来源:发表于2019-02-23 20:56 被阅读0次
    导言:这本书购于17年9月份,当时困于如何组织高扩展性的代码不能自拔,在朋友的推荐下,我入手了这本书。在当时,书中的一些设计模式对我的启发比较浅,主要还是因为我的能力和经验并不能很好的理解书中的例子和思想。时过境迁,如今已经是2019年了,我也离开了当初的那家公司。这本书依然在我的读书清单中,却没有过多的时间去深入思考书中的思想。从事iOS开发4年多了,自认对设计模式有了点浅显的认知,也觉得自己是写过几行代码的人了,也参与了几个商用项目。这个时候,回过头来再细细研读这本书,也许正是时候。所以决定将自己对设计模式的一些不成熟的看法和思考,通过读书笔记的形式记录下来,加深理解,最终学以致用。
    全书共分为13章,分别讲述了不同的设计模式和设计原则。
    设计模式清单:
    1,策略模式:定义算法族,分别封装起来,让它们之间可以互相替换。此模式让算法独立于使用算法的客户。
    2,观察者模式:定义对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。
    3,装饰者模式:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。
    4,工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。此方法让类把实例化推迟到子类。
      抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。
    5,单件模式:确保一个类只有一个实例,并提供一个全局访问点。
    6,命令模式:将请求封装成对象,以便使用不同的请求,队列或者日志来参数化其它对象。命令模式也支持可撤销的操作。
    7,适配器模式:将一个类的接口,转换成客户期望的另一个接口。它可以让原本接口不兼容的类可以合作无间。
      外观模式:提供了统一的接口,用来访问子系统中的一群接口。它定义了 一个高层接口,让子系统更容易使用。
    8,模版方法模式:在一个方法中定义一个算法的骨架,而将一下步骤延迟到子类中。它是的子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
    9,迭代器模式:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴漏其内部的表示。
      组合模式:允许你将对象组合成树型结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合
    10,状态模式:允许对象在内部状态改变时改变它的行为,对象好像看起来修改了它的类。
    11,代理模式:为另一个对象提供一个替身或占位符以控制对这个对象的访问。
    12,复合模式:结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。
    
    除了这些,还有其它的设计模式,这里先不列出来了。后面会有提到。
    设计原则清单:
    1,封装变化
    2,正对接口编程,而不针对实现编程
    3,多用组合,少用继承
    4,为了交互对象之间的松耦合设计而努力
    5,类应该对扩展开发,对修改关闭
    6,要依赖抽象,不要依赖具体类
    7,最少知识原则:只和你的密友谈话
    8,好莱坞原则:别调用我们,我们会调用你
    9,一个类应该只有一个引起变化的原因
    

    最后,借用书中的一段话结束这篇文章。“使用模式最好的方式是:把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们,以往是代码复用,现在是经验复用”。

    相关文章

      网友评论

          本文标题:《Head First 设计模式》读书笔记之概述

          本文链接:https://www.haomeiwen.com/subject/zqcmyqtx.html