最近两周任务不是很繁重,对于一个刚入职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. 项目在cocos 2.23移植到cocos 3.1.0所出现的bug

    在建项目时一定要注意选择源代码!而不是预编译库 "extensions/ExtensionMacros.h”: No such file 项目右键-属性-配置属性-c/c++ - 常规-附加 ...

  2. 新萝卜家园GHOST WIN7系统3专业装机版

    系统来自系统妈:http://www.xitongma.com/ 系统概述 萝卜家园GHOST win7 64位装机旗舰版加快“网上邻居”共享速度:取消不需要的网络服务组件,系统支持Windows安装 ...

  3. (九)maven之聚合多模块

    聚合项目 一些开源项目,都会把自己的源代码公开到github之类的网站上,我们通过下载其代码,在本地执行maven install,可以把代码编译成jar包安装到本地仓库.而一个项目通常有多个模块,比 ...

  4. 测试类执行报错:AttributeError: 'Testlei' object has no attribute 'test_cases' 和data,unpack用法解析

    a=[{"}] import unittest from ddt import ddt,data,unpack @ddt class Testlei(unittest.TestCase): ...

  5. Linux文件系统概述二

    VFS-目录项对象(dentry) 每个文件除了有一个索引节点 inode 数据结构外,还有一个目录项 dentry 数据结构 dentry 结构代表的是逻辑意义上的文件,描述的是文件逻辑上的属性,目 ...

  6. javascript的offset、client、scroll使用方法

    offsetTop 指元素距离上方或上层控件的位置,整型,单位像素. offsetLeft 指元素距离左方或上层控件的位置,整型,单位像素. offsetWidth 指元素控件自身的宽度,整型,单位像 ...

  7. 使用Microsoft Hadoop(一)

    To run this program, stage some data in HDFS: 1. create a text file called input.txt that has one in ...

  8. Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器

    Mac OSX用 dd 命令,浇灌ISO镜像到USB驱动器 字数244 阅读197 评论0 喜欢0 把ISO镜像转换为一个可启动的USB设备.一种可行的方法是通过OS X的Terminal “浇灌”到 ...

  9. 更新portage之后 安装 certbot

    运行的时候一直报如下的错误: sudo certbot 错误结果: Traceback (most recent call last): File "/usr/lib/python-exec ...

  10. js最高效的数组去重方法

    var arr=[1,2,33,2,4,5,33,5,7,8,1,3];var result=[];var temp={};for( var i=0;i<arr.length;i++){ if( ...