最近两周任务不是很繁重,对于一个刚入职4个月的菜鸟来说,学习设计模式并灵活使用简直天方夜谭;但是当我询问我导师需要学点啥的时候?“《Java设计模式》,这个必须要学”,一句简单粗略的话就打发我了。我花了将近两周多的时间看了一部分《Java设计模式》、google网上大佬的博客总结和样例展示,阅读一些Java的底层源码,让我对Java设计模式有了一个全面的认识和理解。
  
        接下来我会每周抽时间,献上我所理解的Java设计模式,总结前辈们的经验,并融会贯通,在项目中尝试着使用简单的设计模式,并消化比对不同设计模式之间的区别。
  
  (一)Java设计模式大体上分为三类:
  
  (1)创建型设计模式 (5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式;
  
  (2)结构型设计模式 (7种):适配器模式、装饰器模式、代理模式、组合模式、外观模式、享元模式、桥接模式;
  
  (3)行为型设计模式 (11种):解释器模式、模板模式、访问者模式、中介者模式、策略模式、备忘录模式、状态模式、观察者模式、迭代器模式、命令模式、职责链;
  
  (二)具体三种不同设计模式分类解释:
  
  (1)创建型模式:在软件设计中对象的创建和对象的使用是分开的,因为对象的创建会消耗掉系统的很多资源,所以会单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题;
  
  (2)结构型模式:如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等,也是很多开发者需要注意的地方;
  
  (3)行为型模式:行为模式不仅描述对象或类的模式,还描述它们之间的通信模式;这些模式刻画了在运行时难以跟踪复杂的控制流,它们将你的注意力从控制流转移到对象间的联系方式上来;行为类模式使用继承机制在类间分派行为,如:模板模式;行为型模式则使用对象聚合、组合而不是继承,一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务,如:职责链、中介者和观察者模式等。
  
  (三)具体设计模式列表如下:
  
  加油,坚持,我会持续更新Java设计模式列表展示,一起监督学习!
  
  创建型模式:
  
  《Java设计模式》之 单例模式:https://blog.csdn.net/super_YC/article/details/70141920
  
  《Java设计模式》之 简单工厂模式:https://blog.csdn.net/super_YC/article/details/83862720
  
  《Java设计模式》之 工厂方法模式:https://blog.csdn.net/super_YC/article/details/83862831
  
  《Java设计模式》之 抽象工厂模式:https://blog.csdn.net/super_YC/article/details/83862899
  
  《Java设计模式》之 建造者模式:https://blog.csdn.net/super_YC/article/details/83825595
  
  《Java设计模式》之 原型模式:https://blog.csdn.net/super_YC/article/details/83828118
  
  结构型模式:
  
  《Java设计模式》之 享元模式:https://blog.csdn.net/super_YC/article/details/83794453
  
  《Java设计模式》之 外观模式:https://blog.csdn.net/super_YC/article/details/83820235
  
  《Java设计模式》之 代理模式:https://blog.csdn.net/super_YC/article/details/83827740
  
  《Java设计模式》之 装饰者模式:https://blog.csdn.net/super_YC/article/details/83864063
  
  《Java设计模式》之 桥接模式:https://blog.csdn.net/super_YC/article/details/83824687
  
  《Java设计模式》之 适配器模式:https://blog.csdn.net/super_YC/article/details/83823033
  
  行为型模式:
  
  《Java设计模式》之 迭代器模式:https://blog.csdn.net/super_YC/article/details/83623825
  
  《Java设计模式》之 访问者模式:https://blog.csdn.net/super_YC/article/details/83792271
  
  《Java设计模式》之 中介者模式:https://blog.csdn.net/super_YC/article/details/83793281
  
  《Java设计模式》之 策略模式:https://www.ysyl157.com blog.csdn.net/super_YC/article/details/83824515
  
  《Java设计模式》之 观察者模式:https://blog.csdn.net/super_YC/article/details/83826588
  
  《Java设计模式》之 命令模式:https://www.yongxinzaixian.cn blog.csdn.net/super_YC/article/details/83828518
  
  《Java设计模式》之 备忘录模式:https://www.dasheng178.com/ blog.csdn.net/super_YC/article/details/83828623
  
  《Java设计模式》之 模板模式:https://www.mcyllpt.com blog.csdn.net/super_YC/article/details/83863628
  
  《Java设计模式》之 状态模式:https://www.mhylpt.com blog.csdn.net/super_YC/article/details/83863712
  
  《Java设计模式》之 职责链模式:https://blog.csdn.net/super_YC/article/details/83863827
  
  ---------------------
  

两周多学完Java 23种设计模式的更多相关文章

  1. Java 23种设计模式

    转自: http://zz563143188.iteye.com/blog/1847029 ; i<count; i++){ list.add(new MailSender()); } } pu ...

  2. java 23种设计模式及具体例子 收藏有时间慢慢看

    设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代 码可靠性. 毫无疑问,设计模式 ...

  3. java 23 种设计模式

    一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...

  4. (转)java 23种设计模式

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  5. java 23种设计模式学习。

    一.3大类设计模式:创建型,结构型,行为型. a.5种创建型模式:工厂方法,抽象工厂,单例,建造者,原型. b.7种结构型模式:适配器,装饰器,代理,外观,桥接,组合,享元. c.11种行为型模式:策 ...

  6. java 23种设计模式 深入浅出

    以下内容只作为对自己对知识进行总结,如有引用他人文章会在文段末尾表明出处: Java的23种设计模式 23种设计模式总共可以分为三大类,进行不定期更新总结,将逐步展开介绍自己对设计模式的理解,多多指教 ...

  7. Java 23 种设计模式的分类和功能

    设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路.它不是语法规定,而是一套用来提高代码可复用性.可维护性.可读性.稳健性以及安全性的解决方案. 设计模式 ...

  8. java 23种设计模式,一般情况下,常用的有哪些? 转载

    原址:http://wangle.iteye.com/blog/196972 工厂模式, 工厂方法模式,单例模式, 外观(Facade)模式, 观察者(Observer)模式,桥接(Bridge)模式 ...

  9. Java 23种设计模式详尽分析与实例解析之三--行为型模式

    Java设计模式 行为型模式 职责链模式 模式动机:职责链可以是一条直线.一个环或者一个树形结构.链上的每一个对象都是请求处理者,职责链模式可以将请求的处理组织成一条链,并使请求链传递,由链上的处理者 ...

随机推荐

  1. Power BI 连接到 Azure 账单,自动生成报表,可刷新

    开始研究Azure官网等,提供的链接都是错误的,躺了很大的一个坑,配置后根本无法获取账单信息,经过多次查询找到了方向,过来记录一下: 错误的地址(应该是适用于全球版,国内版无法这样获取): https ...

  2. UVA - 1395 Slim Span (最小生成树Kruskal)

    Kruskal+并查集. 点很少,按边权值排序,枚举枚举L和R,并查集检查连通性.一旦连通,那么更新答案. 判断连通可以O(1),之前O(n)判的,第一次写的过了,后来T.. #include< ...

  3. Vue的elementUI实现自定义主题

    使用vue开发项目,用到elementUI,根据官网的写法,我们可以自定义主题来适应我们的项目要求,下面来介绍一下两种方法实现的具体步骤,(可以参考官方文档自定义主题官方文档),先说项目中没有使用sc ...

  4. Spring启动流程—源码解读

    https://blog.csdn.net/yangliuhbhd/article/details/80790761 Spring的AbstractApplicationContext的refresh ...

  5. apache 报413

    http://www.hostlift.com/apache/modsecurity-request-body-content-length-is-larger-than-the-configured ...

  6. Ubuntu美化

    Ubuntu美化 觉得ubuntu18.04的界面太丑了,所以决定美化一下. 整了好长时间特别费事.所以写个随笔记录一下. 安装gnome-tweak-tool和gnome-shell-extensi ...

  7. 学习笔记(_huaji_)

    假如我没有见过太阳,我也许会忍受黑暗. 如果我知道自己会在哪里死去,我就永远都不去那儿.失败的经历,其实也有它的价值. 人的过失会带来错误,但要制造真正的灾难还得用计算机. 嘴角微微上扬已不复当年轻狂 ...

  8. 【Java_基础】java中的常量池

    1.java常量池的介绍 java中的常量池,通常指的是运行时常量池,它是方法区的一部分,一个jvm实例只有一个运行常量池,各线程间共享该运行常量池. java常量池简介:java常量池中保存了一份在 ...

  9. 八:SQL之DQL数据查询语言单表操作

    前言: DQL数据库查询语言是我们在开发中最常使用的SQL,这一章总结了单表操作部分的常用查询方式 主要操作有:查询所有字段.查询指定字段.查询指定记录.带IN的关键字查询,范围查询,陪查询.查询空值 ...

  10. 验证debug思路之从寄存器开始

    对于boot a peripherial or module 一般都是配置一系列的寄存器(有可能有时间等方便的写入读出要求). 1.确保寄存器的读写按spec要求完成.<====可以通过波形查看 ...