要想成为一名合格的Java中级程序员,Java设计模式你不能说你不会,而且相对来说你应该要很熟悉才对,否则的话,怎么说呢,就是Java的水很深,你把握不住的!当然了,我也不是在劝退你,而是在告诉你要想成为一名合格的Java中级程序员,Java设计模式你就必须得会,而且应该要很熟悉才行。

而且,从各大公司招聘要求来看,设计模式都是你必须熟悉(以及掌握)的基本技能,不信,你看。

现在,难道你还有理由不来学习设计模式这门课吗?

哎呀,你可能会说,我现在真的充满了雄心壮志,但是我又该从何开始学起呢?这个你完全不用担心,因为接下来,我将会一直在你身边,直至陪伴你学完设计模式这门课,在这一过程中,我将一直是你贴心的奶妈!

教程大纲

接下来,我不妨带领大家看看设计模式这门课的教程大纲吧,如下图所示。

可以看到,设计模式这门课我是分为了五章进行讲解,第一章主要是设计模式相关内容的介绍;而到第二章,就正式的进入到设计模式的学习中了,大家要注意了,设计模式它可分为三类,第二章讲的就是其中的第一类,即创建者模式,并且该模式里面总共又有5种分类;第三章讲的是其中的第二类,即结构型模式,它里面总共又有7种分类;第四章讲的是最后的一类,即行为型模式,它里面总共又有11种分类;最后,在第五章,我们会做一个综合案例,在综合案例里面会把一些常用的设计模式给其融入进去,让大家去感受一下设计模式在具体的开发中的一个使用。

对设计模式这门课的教程大纲有一个粗略的认识之后,接下来,我再对里面的每一章进行一个详细说明。

第一章

在第一章中,我们要学习的内容分为三个部分,它们分别是:

  • 设计模式概述:我们总得了解什么是设计模式吧!
  • UML图:在后面设计模式的学习过程中,我们会遇到大量的类图,而它们就属于UML图
  • 软件设计原则:未来我们作为一个架构师要去设计咱们的软件的话,总得知道所设计的软件应该要满足一个什么样的原则吧!

接下来,咱们首先先来看一下第一部分所要学习的内容,即设计模式的概述。设计模式的概述我会就以下四部分进行讲解。

  1. 软件设计模式产生背景
  2. 软件设计模式的概念
  3. 学习设计模式的必要性
  4. 设计模式的分类

然后,咱们再来聊一下第二部分所要学习的内容,即UML图。大家要注意了,在这一块我们重点学习的就是类图。

最后,咱们再来聊一下第三部分所要学习的内容,即软件设计原则。软件设计原则有如下6个原则:

  1. 开闭原则
  2. 里氏代换原则
  3. 依赖倒转原则
  4. 接口隔离原则
  5. 迪米法特原则
  6. 合成复用原则

至于以上6个软件设计原则,后续我会为大家进行详细介绍,这里请先别着急,咱们来日方长!

第二章

在这一章,咱们就正式步入到设计模式的具体学习中了。而且在上面,我也已经说过了,设计模式可分为三类,第二章讲的就是其中的第一类,即创建者模式,而创建者模式又可分为如下5种:

  1. 单例模式
  2. 原型模式
  3. 工厂方法模式
  4. 抽象工厂模式
  5. 建造者模式

看清楚了没,以上5种设计模式就是我们第二章所要学习的内容。

第三章

在这一章,我会为大家讲解设计模式的第二类,即结构型模式,而结构型模式又可分为如下7种:

  1. 代理模式
  2. 适配器模式
  3. 桥接模式
  4. 装饰者模式
  5. 外观模式
  6. 享元模式
  7. 组合模式

经过这一章的学习,你将会完全掌握以上7种设计模式。

第四章

在这一章,我会为大家讲解设计模式的最后一类,即行为型模式,而行为型模式又可分为如下11种:

  1. 模板方法模式
  2. 策略模式
  3. 命令模式
  4. 责任链模式
  5. 状态模式
  6. 观察者模式
  7. 中介者模式
  8. 迭代器模式
  9. 访问者模式
  10. 备忘录模式
  11. 解释器模式

同理,只要经过这一章的学习,你就会完全掌握以上这11种设计模式。

第五章

在最后这一章,我们会做一个综合案例,即自定义Spring框架。当然了,我们也只是简单的去模拟Spring里面的一个功能,即Spring里面的IoC功能。

那么如何做到这一点呢?首先,我们得去分析一下Spring核心功能的结构,即分析Spring它是如何做的;然后,确定Spring核心功能使用的设计模式,如果在Spring核心功能里面确定出了它用到了哪些设计模式,那么我们就在自己模拟的过程中,也把这些设计模式给它加入到里面,除此之外,我们还得知道这些设计模式,它们所起到的一个作用,或者说在某个地方使用某种设计模式,它带来的一个好处;最后,就是实现Spring IoC功能了。

至此,设计模式这门课所要学习的内容,我就给大家梳理出来了,是不是一目了然啊!

从零开始学习Java设计模式 | 设计模式入门篇:教程导读相关推荐

  1. [转载]从零开始学习jQuery (一) 开天辟地入门篇

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章是入门第一篇, 主要是简单介绍jQuer ...

  2. 真正从零开始,TensorFlow详细安装入门图文教程!(linux)

    读懂智能&未来 首页 专栏 专题 公开课 AI慕课学院 爱搞机 极客购 申请专栏作者 业界人工智能智能驾驶AI+Fintech未来医疗网络安全AR/VR机器人开发者智能硬件物联网GAIR 业界 ...

  3. TensorFlow 真正从零开始,TensorFlow详细安装入门图文教程

    https://www.leiphone.com/news/201606/ORlQ7uK3TIW8xVGF.html 读懂智能&未来 首页 专栏 专题 公开课 AI慕课学院 爱搞机 极客购 申 ...

  4. 如何高效学习Python?Python入门 Python教程 Python学习路线

    如何高效学习Python?Python入门 Python教程 Python学习路线 试想,这么好的回答,不读完岂不是后悔? Python岗位有哪些呢?主要的岗位有这些: Python全栈开发工程师(1 ...

  5. 【PaddlePaddle学习笔记】从零开始学习图像分类01——图像处理入门基础

    本系列文章链接 [PaddlePaddle学习笔记]从零开始学习图像分类01--图像处理入门基础 未完待续...... 目录 一.关于图像的几个基本概念 1. 像素及其坐标 2. 图像的四种基本类型 ...

  6. 【学习笔记】JavaWeb入门篇—HTML

    [学习笔记]JavaWeb入门篇-HTML

  7. Java新手小白入门篇 Java基础(一)

    Java新手小白入门篇 Java基础 Java新手小白入门篇 Java基础(知识点体系汇总) Java新手小白入门篇 Java基础(一) Java新手小白入门篇 Java基础(二) Java新手小白入 ...

  8. 1、Latex学习笔记之基础入门篇

    目录 一.Latex基础 1.架构 2.引用.脚注 3.单栏.双栏 4.常用快捷键 5.宏包 6.空格 7.换行.行间距 8.换段 9.下划线 10.引号 11.注释 12.字体 13.缩进 14.超 ...

  9. 从零开始学习Java设计模式 | 设计模式入门篇:设计模式概述

    在上一讲中,明确了设计模式这门课所要学习的内容之后,接下来,我们就得开始正式步入设计模式这门课的学习中了,当然,我也祝大家能在设计模式这门课程中能够学到很多东西,也不枉我这一片苦心了! 软件设计模式的 ...

  10. 初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...

    作为小白,在学习Python的时候,必然会走一定的弯路,有人在弯路上走丢了,有人走出了弯路.我就是属于还未走出弯路的同学,所以我想谈谈我的Python学习之路. 01先了解一下什么是python‍? ...

最新文章

  1. android-sdk-windows下载版
  2. php限定时间内同一ip只能访问一次
  3. linux系统上的图形化远程管理,Linux操作系统远程图形化管理的几种途径
  4. matlab word 查找 词组,matlab搜索word文档
  5. MySQL:互联网公司常用分库分表方案汇总
  6. 【3D视觉】深度摄像头与3D重建
  7. 记一次艰苦的刷机历程,nexus7 刷cm12 nightly版,刷入gapps
  8. 贝恩分类法(行业集中度)
  9. 看完这4个项目还不懂 数据分析,就把电脑砸了吧!
  10. 在外包公司工作是什么样的体验?
  11. 四百元左右有什么降噪耳机推荐?高性价比降噪耳机推荐
  12. python编程好学吗-零基础可以学会python吗?python好学吗?
  13. 阿里天池大赛脱敏多标签文本分类初赛20名方案分享
  14. Java使用aopse实现word转换pdf
  15. IE8的调试工具使用详解(下)
  16. 定时任务系列(3)-Quartz动态定时任务
  17. 华为magic book笔记本无法重装系统的麻烦
  18. STM32-深入理解GPIO的8种工作模式
  19. 台达PLC模拟量或台达伺服电机控制模块程序案例
  20. 山药粥营养价值好处有哪些 山药粥的功效与作用

热门文章

  1. 计算机机房实训计划,计算机专业实习计划安排.docx
  2. oracle合并列的函数wm_concat
  3. 高斯消去法,列主元法,LU分解法python程序
  4. Java之美[从蛮荒到撬动地球]之设计模式三
  5. matlab 双音多频 接收端检测到的号码,实验一数字信号处理在双音多频拨号系统中的应用.doc...
  6. workbench焊接实例_基于ANSYS Workbench平台和ANSYS经典界面的焊接仿真-工业电子-与非网...
  7. DSP2812入门1——开始学习与开发
  8. 2022年计算机二级Access数据库程序设计复习题及答案
  9. GPS开发----临近警告
  10. 卫星星历TLE格式说明