- 11
- 0
- 约6.25万字
- 约 63页
- 2019-04-18 发布于广东
- 举报
Java 设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、
享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、
命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。
用一个图片来整体描述一下:
【更多Java 资料下载,可访问动力节点(中国区)官网 下载区】
设计模式的六大原则
总原则:开闭原则(Open Close Principle)
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代
码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展
性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设
计中我们会提到这点。
单一职责原则
不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,如若不然,就应
该把类拆分。
里氏替换原则(Liskov Substitution Principle)
里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原
则中说,任何基类可以出现的地方,子类一定可以出现。 LSP 是继承复用的基石,只有当衍
生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够
在基类的基础上增加新的行为。里氏代换原则是对“开- 闭”原则的补充。实现“开- 闭”原则的关键
步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实
现抽象化的具体步骤的规范。—— From Baidu 百科
历史替换原则中,子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通
过这个规范的接口与外界交互,子类不应该随便破坏它。
依赖倒转原则(Dependence Inversion Principle)
这个是开闭原则的基础,具体内容:面向接口编程,依赖于抽象而不依赖于具体。写代码时用
到具体类时,不与具体类交互,而与具体类的上层接口交互。
接口隔离原则(Interface Segregation Principle)
这个原则的意思是:每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口
拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好。
【更多Java 资料下载,可访问动力节点(中国区)官网 下载区】
迪米特法则(最少知道原则)(Demeter Principle)
就是说:一个类对自己依赖的类知道的越少越好。也就是说无论被依赖的类多么复杂,都应该
将逻辑封装在方法的内部,通过public 方法提供给外部。这样当被依赖的类变化时,才能最
小的影响该类。
最少知道原则的另一个表达方式是:只与直接的朋友通信。类之间只要有耦合关系,就叫朋友
关系。耦合分为依赖、关联、聚合、组合等。我们称出现为成员变量、方法参数、方法返回值
中的类为直接朋友。局部变量、临时变量则不是直接的朋友。我们要求陌生的类不要作为局部
变量出现在类中。
合成复用原则(Composite Reuse Principle)
原则是尽量首先使用合成/聚合的方式,而不是使用继承。
Java 的23 中设计模式
创建模式
从这一块开始,我们详细介绍Java 中23 种设计模式的概念,应用场景等情况,并结合他们
的特点及设计模式的原则进行分析。
首先,简单工厂模式不属于23 中涉及模式,简单工厂一般分为:普通简单工厂、多方法简单
工厂、静态方法简单工厂。
简单工厂模式
简单工厂模式模式分为三种:
普通
就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。首先看下关系图:
【更多Java 资料下载,可访问动力节点(中国区)官网 下载区】
举例如下:(我们举一个发送邮件和短信的例子)
首先,创建二者的共同接口:
[java] view plaincopy
1.
您可能关注的文档
- 2018版最新全套java教程.doc
- 2018年美团点评技术年货(合).pdf
- 2018年最新版Java程序员面试宝典%28完整版本%292018.pdf
- 2018最新BAT java经典必考面试题 (1).docx
- 2019微信小程序应用开发赛通知.pdf
- android之JNI开发步骤总结 - Android开发论坛 - 51CTO技术论坛_中国领先的IT技术社区.pdf
- dubbo源码分析系列.pdf
- Git基础介绍与基本命令V0.2.pptx
- Google Java 编程风格指南.pdf
- H5+开发APP实战详解.ppt
- 中国国家标准 GB/Z 37551.300-2026海洋能 波浪能、潮流能及其他水流能转换装置 第300部分:河流能转换装置发电性能评估.pdf
- GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 中国国家标准 GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法.pdf
- 《GB/T 44937.3-2025集成电路 电磁发射测量 第3部分:辐射发射测量 表面扫描法》.pdf
- 中国国家标准 GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义.pdf
- 《GB/T 44937.1-2025集成电路 电磁发射测量 第1部分:通用条件和定义》.pdf
- 中国国家标准 GB/T 4937.37-2025半导体器件 机械和气候试验方法 第37部分:采用加速度计的板级跌落试验方法.pdf
- 《GB/T 4937.10-2025半导体器件 机械和气候试验方法 第10部分:机械冲击 器件和组件》.pdf
- 中国国家标准 GB/T 44937.2-2025集成电路 电磁发射测量 第2部分:辐射发射测量TEM小室和宽带TEM小室法.pdf
最近下载
- 2020学年江苏省徐州市中考真题政治.docx VIP
- 血液透析高钾血症的护理查房.pptx VIP
- 顶空进样器操作维修手册惠普课件.pdf VIP
- 小学二年级数学题《图形的剪拼问题大全及答案》.doc VIP
- 2026年度烟台工程职业技术学院单招《数学》试题附参考答案详解(考试直接用).docx VIP
- 数学六年级上册100道口算题大全(全册各类齐全18份).doc VIP
- 干货 _ 高中历史全套思维导图100张.pdf
- 2026年烟台工程职业技术学院单招《数学》试题带答案详解(预热题).docx VIP
- 小学三年级数学题《图形的剪拼问题大全及答案》.doc VIP
- 麦可思2025年中国大学生就业报告_完全详细版.docx VIP
原创力文档

文档评论(0)