![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java设计模式
Java设计模式
Aran_
风筝有风,海豚有海
展开
-
[java设计模式]我眼中的抽象工厂模式
千呼万唤的抽象工厂模式,它来了! 上一篇分享的工厂模式,它在这里 定义 :抽象工厂模式(Abstract Factory),提供了一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 假设你已经了解了工厂模式,那么我们对比一下工厂模式和抽象工厂的类图: 工厂模式: 抽象工厂模式: 那么,如何理解呢? 在介绍工厂模式的时候时候,我自己胡诌了一个面点和面点厂的例子,这次,我们还是用这个例子进行说明,只是稍微换一个方式: 说明: 面点厂相当于父类,具体的面点继承于面点厂的“加面”和“加糖”的原创 2020-08-06 15:01:10 · 149 阅读 · 0 评论 -
[java设计模式]我眼中的工厂模式
工厂模式,又叫工厂方法模式,其应用非常广泛,今天我们一起学习下工厂模式: 1.1 定义 工厂方法模式(Factory Method) :定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。 如果你已经了解了简单工厂模式,对于工厂模式的定义就会更加清楚一些,我们还是用加减法的例子,先通过类图来对比一下简单工厂模式和工厂模式的区别: 简单工厂模式: 工厂模式: 意思就是,与简单工厂相比,我们实例化具体的实体的工作交给了其子类或实现类,而不是由自己来完成。 文字描述.原创 2020-07-28 23:33:42 · 196 阅读 · 0 评论 -
[java设计模式] 我眼中的简单工厂模式
在学习简单工厂模式之前,我们先来复习下设计模式的六大原则: 1.1 设计模式的六大原则 开闭原则(Open Close Principle) 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。 里氏代换原则(Liskov Substitution Principle) 里氏代换原则(Liskov Substitution Principl.原创 2020-07-24 21:01:55 · 193 阅读 · 1 评论 -
[java设计模式] 我眼中的单例模式(二)
上一篇[java设计模式] 我眼中的单例模式(一) 我们介绍了一些单例(单件)模式的基本概念,本文将对其中介绍的几种实现方式进行介绍: 1. 饿汉模式 类加载的时候就创建实例 优点:类加载的时候就创建一次实例,避免了多线程同步问题 缺点:即使单例没被用到也会创建,浪费内存 public class Singleton{ private static Singleton instance = new Singleton(); private Singleton(){} public static Si原创 2020-07-19 17:08:53 · 125 阅读 · 0 评论 -
[java设计模式] 我眼中的单例模式(一)
本篇将对单例模式的定义及应用场景部分进行简要描述 定义: 确保一个类只有一个实例,并且提供一个全局访问点。属于设计模式三大类中的 创建型模式 特点: 只有一个实例 自我实例化 提供全局访问点 优点: 由于单例模式只生成一个实例,所以能够节约资源,减少性能开销,提高系统效率,同时也能够严格控制客户对它的访问。 缺点: 正是因为系统中只有一个实例,这样就导致了单例类的职责过重,违背了“单一职责原则”,同时也没有抽象类,这样扩展起来会有一定困难。 常见的实现方式: 饿汉式 懒汉式 双重检锁式 静态原创 2020-07-19 17:02:57 · 126 阅读 · 0 评论 -
Java设计模式之-组合模式
组合模式 带着问题去阅读: 什么是组合模式 如何理解组合模式 如何实现组合模式 何时使用组合模式 组合模式的好处 1. 什么是组合模式 组合模式(Composite) 将对象组合成树形结构以表示’部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 2. 如何理解组合模式? 设想一个大型公司的组织结构 总公司:下设有分公司(组合)、财务部(单个对象)、人力资源部...原创 2020-03-29 20:09:26 · 157 阅读 · 0 评论