历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)

Posted 李阿昀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)相关的知识,希望对你有一定的参考价值。

设计模式(Design Pattern)代表了最佳的实践,在面向对象的编程中被很多老鸟们反复使用。那么,使用设计模式究竟有哪些好处呢?看一看下面就知道了,其实还远不止这些好处。

  • 可重用代码。
  • 保证代码可靠性。
  • 使代码更易被他人理解。
  • ······

毫无疑问,设计模式于己、于人、于系统都是多赢的。设计模式之于程序员,就好比圣经之于耶稣信徒一样,意义可想而知!

什么是GoF?

谈及设计模式,必然离不开GoF。

GoF:Gang of Four,也称为"四人组",即EErich Gamma、Richard Helm、Ralph Johnson和John Vlissides这四人。

1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995年艾瑞克·伽马、理査德·海尔姆、拉尔夫·约翰森、约翰·威利斯迪斯等4位作者合作出版了《设计模式:可复用面向对象软件的基础》这一本书,在此书中收录了23个设计模式,这是设计模式领域里程碑的事件,导致了软件设计模式的突破。这4位作者在软件开发领域里也以他们的"四人组"(Gang of Four,简称GoF)著称。

以上就是这四个人,都是远古大神了!高山仰止!

设计模式前置入门基础

作为初次学习设计模式的你,希望你能从下面这篇文章中了解到设计模式这门课的整个教程大纲。

阅读完下面这篇文章,我希望你能了解设计模式的概述,例如软件设计模式产生背景、软件设计模式的概念等等。

阅读完下面这篇文章,我希望你能知道怎样画UML类图。

最后,我希望你阅读完下面这6篇文章,能够对软件设计原则有一个比较清醒的认识。

设计模式的分类

根据GoF四人组合作出版的《设计模式:可复用面向对象软件的基础》这一参考书,我想你应该要知道这四仙总共总结出来了23种设计模式,而且这些模式可以分为三类。

创建型模式

我希望你阅读完下面这5篇文章,能够知道并熟练掌握如下这5种创建型模式。

结构型模式

我希望你阅读完下面这7篇文章,能够知道并熟练掌握如下这7种结构型模式。

行为型模式

我希望你阅读完下面这11篇文章,能够知道并熟练掌握如下这11种行为型模式,虽然我知道这有点为难!

自定义Spring框架

阅读完下面这4篇文章,我希望你能去自定义一个属于你自己的Spring框架,当然了,我在这里教给你的也只是简单的去模拟了一下Spring里面的IoC功能,我最最最重要的目的是希望你能了解设计模式在具体的开发中的使用。

N问设计模式

GoF四人组提出的设计模式,至今仍被人津津乐道,但是你又了解多少呢?

你可能:

  • 没听过
  • 听说过,但不知道具体能干嘛
  • 了解,会用其中的两三种
  • 熟悉,能根据实际情况快速设计
  • 精通,游刃有余

第一种:“虽然不懂你们在说什么,但是貌似很厉害的样子”。大牛才会用到的东西,高端而又神秘!

最后一种:“已上天,正和太阳肩并肩”。心中未曾想用设计模式,写出的代码却处处都是。倘若你和我一样,属于其他情况,嘿嘿😊,那么,就认真学习吧!

设计模式能带给你什么?

看下下面这张人类演变图。

从"猿猴→程序猿"的巨变,怎么样,是不是很炫酷啊?

有些人说设计模式没用,真是这样吗?

引用一句哲学名言:存在即合理。当然,若要扯非OO语言,也许真没什么用!但可以肯定的是,非OO语言完全可以借鉴OO的思想,设计模式也不例外!

设计模式有多重要?

要做一位大神或所谓的高手,基本之一就是要懂得若干设计模式。设计模式是软件工程的基石脉络,如同大厦的结构一样,你说有多重。

对了,还有面试要考!设计模式有多重要勿须我再费口舌了。

怎么学习设计模式?

设计模式不是基于理论发明的,而是先有问题场景,再基于需求和情景不断演化设计方案,最后把一些方案标准化成"模式"。

所以,通过实际案例学习是最好的!在讨论每一个设计模式时,要尽量用生活中的真实问题来理解和分析,然后尝试一步步地阐述设计,并以一个能匹配某些模式的设计收尾。

如何选择设计模式?

设计模式是针对某种情景下某种问题的某种解决方案,也就是说,每个模式都有自己的使用场景、使用方法和使用后果。正所谓物有两极,各模式也存在相应的优缺点,得其优,而避其劣,终得之!

为什么要写设计模式?

虽然设计模式被很多人念叨并不断书写,但是笔者还是决定追随前人的脚步,在前辈们的基础上整理出了这套设计模式系列教程,我衷心地希望大家都能通过我这套教程来学会设计模式,也算是不枉我一片苦心了!

鸣谢

写这篇文章,我参考了下面这篇文章很多,作者是一去丶二三里,虽然作者是用C++语言来讲述设计模式的,而笔者是用Java语言,但是大家要知道这两者都是殊途同归的。希望大家不要纠结于语言层面,而是多将注意力放在设计模式上。

最后,我是李阿昀,正在向一名优秀的程序员的路上前进,在此感谢大家抽空阅读!

以上是关于历时三个月,少说有三十多万字的《从零开始学习Java设计模式》小白零基础设计模式入门导读(强烈建议收藏)的主要内容,如果未能解决你的问题,请参考以下文章

数据丢失了?我的一百万数据剩下了三十多万,为什么?并发问题

牛顿简介

sqlserver数据库登录日志LOG目录下的SQLDump10000.txt文件有三十多G,我想问一下这个文件能删除吗?

现在负债二十多万,一个月工资才三千多,怎么样才能把账还清?

从零开始学深度学习编译器七,万字长文入门TVM Pass

预告!10 万字的 C++ 八股文 PDF