什么是设计模式

  设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。通过对这些设计模式的合理使用能够是我们的系统更加的健壮。

六大设计原则

设计原则 简单说明
单一职责 一个类只负责一项职责
里氏替换原则 子类可以扩展父类的功能,但不能改变父类原有的功能
依赖倒置原则 要依赖于抽象,不要依赖于具体,核心思想是==面向接口编程==
接口隔离原则 建立单一接口,不要建立庞大臃肿的接口,
尽量细化接口,接口中的方法尽量少
迪米特法则
(最少知道原则)
一个对象应该对其他对象保持最少的了解
开闭原则 对扩展开放,对修改关闭

设计模式的分类

类别 说明
创建型模式 对象实例化的模式,创建型模式用于解耦对象的实例化过程。
结构型模式 把类或对象结合在一起形成一个更大的结构。
行为型模式 类和对象如何交互,及划分责任和算法。

设计模式的具体实现

1.创建型模式

  都是用来帮助我们创建对象的!

模式 地址
单例模式 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87740745
简单工厂 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87896766
工厂方法 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87896766
抽象工厂 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87896766
建造者模式 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87909002
原型模式 https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87633257

2.结构型模式

  关注对象和类的组织
|模式|地址 |
|--|:--|
| 代理模式| https://dpb-bobokaoya-sm.blog.csdn.net/article/details/86484887|
|适配模式|https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87949811 |
|桥接模式|https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87951434 |
|组合模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88567000 |
|装饰模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88214447 |
|外观模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88569991 |
|享元模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88586998 |

3.行为型模式

  关注系统中对象之间的相互交换,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责,共有11中模式
|模式|地址 |
|--|:--|
| 责任链模式| https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89077040|
|命令模式|https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89115420 |
|解释器模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89367802 |
|迭代器模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89077229 |
|中介者模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89077718 |
|备忘录模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89367699 |
|观察者模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/87483479 |
|状态模式|https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89345271 |
|策略模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88222305 |
|模板方法 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/88210977 |
|访问者模式 |https://dpb-bobokaoya-sm.blog.csdn.net/article/details/89367828 |

Java设计模式总结的更多相关文章

  1. java设计模式- (1)单例模式

    参加校园招聘的笔试,发现公司都会考一些java设计模式,所以上网查询相关内容,总结常用的几种单例模式. 单例模式(Singleton Pattern)是 Java中最简单的设计模式之一.这种类型的设计 ...

  2. JAVA 设计模式 桥接模式

    用途 桥接模式 (Bridge) 将抽象部分与实现部分分离,使它们都可以独立的变化. 桥接模式是一种结构式模式. 结构

  3. java设计模式 策略模式Strategy

    本章讲述java设计模式中,策略模式相关的知识点. 1.策略模式定义 策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户.策略模式属于对象的 ...

  4. Java设计模式之行为型模式

    行为型模式共11种:策略模式.模板方法模式.观察者模式.迭代子模式.责任链模式.命令模式.备忘录模式.状态模式.访问者模式.中介者模式.解释器模式. 策略模式:策略模式的决定权在用户,系统本身提供不同 ...

  5. Java设计模式(三) 抽象工厂模式

    原创文章,同步发自作者个人博客,转载请注明出处 http://www.jasongj.com/design_pattern/abstract_factory/ 抽象工厂模式解决的问题 上文<工厂 ...

  6. Java设计模式(十二) 策略模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/ 策略模式介绍 策略模式定义 策略模式(Strategy Pattern) ...

  7. Java设计模式(二) 工厂方法模式

    本文介绍了工厂方法模式的概念,优缺点,实现方式,UML类图,并介绍了工厂方法(未)遵循的OOP原则 原创文章.同步自作者个人博客 http://www.jasongj.com/design_patte ...

  8. Java设计模式(一) 简单工厂模式不简单

    摘要:本文介绍了简单工厂模式的概念,优缺点,实现方式,以及结合Annotation和反射的改良方案(让简单工厂模式不简单).同时介绍了简单工厂模式(未)遵循的OOP原则.最后给出了简单工厂模式在JDB ...

  9. Java设计模式(十三) 别人再问你设计模式,叫他看这篇文章

    原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使 ...

  10. JAVA 设计模式 状态模式

    用途 状态模式 (State) 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 状态模式是一种行为型模式. 结构

随机推荐

  1. CSS3 常用属性

    1------border-radius (盒子圆角 border-radius :border-radius:5px 4px 3px 2px; 左上,右上,右下,左下 2------如果将一个正方形 ...

  2. extremecomponents

    具体教程: http://www.cnblogs.com/QQParadise/articles/1488920.html 教程中涉及到springmvc的相关知识 下载地址:http://sourc ...

  3. mysql的必知技巧

    1.使用联合索引可以大大减少查询数据,联合索引的顺序尽量为查询的顺序

  4. BUAA-OO-第二单元总结

    OO第二单元总结 一.第五次作业 1.1 设计策略与架构 第五次作业要求的是完成设计支持一架傻瓜电梯的电梯系统.考虑到需要数据结构存放所有的请求,因此构建了FloorRequests类用来存放所有的请 ...

  5. Paper Reading——LEMNA:Explaining Deep Learning based Security Applications

    Motivation: The lack of transparency of the deep  learning models creates key barriers to establishi ...

  6. 一致性Hash算法在数据库分表中的实践

    最近有一个项目,其中某个功能单表数据在可预估的未来达到了亿级,初步估算在90亿左右.与同事详细讨论后,决定采用一致性Hash算法来完成数据库的自动扩容和数据迁移.整个程序细节由我同事完成,我只是将其理 ...

  7. 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  8. 【RL-TCPnet网络教程】第12章 TCP传输控制协议基础知识

    第12章      TCP传输控制协议基础知识 本章节为大家讲解TCP(Transmission Control Protocol,传输控制协议),通过本章节的学习,需要大家对TCP有个基本的认识,方 ...

  9. IntelliJ Idea 2017 免费激活方法

    1. 到网站 http://idea.lanyus.com/ 获取注册码. 2.填入下面的license server: http://intellij.mandroid.cn/ http://ide ...

  10. JS中的特殊类别注意区分

    undefined和null 在JavaScript中存在这样两种原始类型:Null与Undefined. 这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是 ...