设计模式断断续续也算是学了几个月了,让问我学得怎样,我还真不好说,我算是把这本书从头看到尾,然后每一章都有发表博客记录,代码也是一行一行敲出来的。在开始本篇博客之前,我想我应该写写书评才对,这次也算是有系统的去学习设计模式了,也算是完成了一项任务,但这个任务完成得并不太理想,因为我感觉掌握得不太好,有些地方理解还不到位,让我去写一个关于模式的程序,我真写不出来。不过,如果让我遇到用上本书介绍的模式的话,我倒是能很好的认出来,并且知道它担当的是什么角色。《Head First设计模式》这本书呢,很厚的一本,要坚持看下去还真不容易,更何况是专门发表博客去记录,我给这本书的评价还算蛮高的,不过还是有点不足,我感觉它这本书所介绍的例子有点理所当然的容易理解了,其实有些并不太容易理解,倒是把它复杂化了,反正我是这么觉得,有些设计模式我感觉不应该用比较复杂的例子去阐述的,虽说作者在这本书解释的很清楚,但还是不能一遍就能看明白,着实这本书不能只看一遍。或许多看几遍,有些地方也就能读懂了。我听朋友说过,《大话设计模式》是一本相当生动易懂的书,我也打算去买一本来看看,对比对比,可能我对设计模式的理解就更加深刻了。有时候外国的书并不都适合我们中国人,即使它写的图文并茂。
为什说这是终篇亦非终篇呢?与设计模式相处是这本书的最后一章,所以是终篇,但对与设计模式本身来说,绝不仅仅只有这十几个模式,还有很多模式在这本书没介绍,比如桥接模式、生成器模式、责任链模式、蝇量模式、解释器模式、中介者模式、备忘录模式、原型模式、访问者模式等等,这些能有专门的代名词的模式都是经过无数实践总结出来的经验宝典。只要你足够厉害,你自己都可以设计出一种模式出来,那也算作一种设计模式。
好了,说了一堆,总的来回顾一下整本书介绍的设计模式吧。
装饰者–包装一个对象,以提供新的行为。
状态–封装了基于状态的行为,并使用委托在行为之间切换。
迭代器–在对象的集合之中游走,而不暴露集合的实现。
外观–简化一群类的接口。
策略–封装可以互换的行为,并使用委托来决定使用哪一个。
代理–包装对象,以控制对此对象的访问。
工厂方法–由子类决定要创建的具体类是哪一个。
适配器–封装对象,并提供不同的接口。
观察者–让对象能够在状态改变时被通知。
模版方法–由子类决定如何实现一个算法中的步骤。
组合–客户用一致的方式处理对象集合和单个对象。
单件–确保有且只有一个对象被创建。
抽象工厂–允许客户创建对象的家族,而无需制定他们的具体类。
命令–封装请求成为对象。
要点:
-
让设计模式自然而然地出现在你的设计中,而不是为了使用而使用。
-
设计模式并非僵化的教条,你可以依据自己的需要采用或调整。
-
总是使用满足需要的最简单解决方案,不管它用不用模式。
-
学习设计模式的类目,可以帮你自己熟悉这些模式以及它们之间的关系。
-
模式的分类是将模式分为不同的族群,如果这么做对你有帮助,就采用吧!
-
你必须相当专注才能够成为一个模式的作家:这需要时间也需要耐心,同时还必须乐意做大量精化工作。
-
请牢记:你所遇到大多数的模式都是现有模式的变体,而非新的模式。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618165277)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!