设计模式
JustinNeil
年少是你未醒的梦话,风华是燃尽的彼岸花
展开
-
设计模式之单例模式
概述 Java中单例模式的定义:一个类有且仅有一个实例,并且自行实例化向整个系统提供。单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一类只有一个实例而且该实例易于外界访问,从而达到使用目的,同时还能方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 应用场景 Windows系统下的...原创 2019-05-20 08:56:20 · 130 阅读 · 0 评论 -
设计模式之简单工厂模式
简单工厂模式的目的是实现创建者与调用者分离。 实现方式: 1.所有产品类共同实现的一个接口 2.创建产品的工厂类,类中定义多个实现不同产品的静态方法 3.多个具体的产品类 代码演示 public interface Car { void run(); } public class Benz implements Car { @Override public void run() { ...原创 2019-05-20 20:26:16 · 196 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式在简单工厂模式的基础上做了改进,将创建产品的操作放在了具体的子类中,消除了增加新产品时对原始工厂的修改,维护了开闭原则。 实现方法: 首先定义所有产品的公共父类(接口) public interface Car { void run(); } 定义产品类 class Benz implements Car { @Override public void run() { S...原创 2019-05-27 16:28:03 · 125 阅读 · 0 评论 -
设计模式之Adapter适配器模式
Adapter(适配器)模式主要用于解决接口间不兼容问题,避免了新旧版本更替时需要大量修改客户代码的问题。 适配器模式共有两种实现方式: 1.类的适配器模式 类的适配器模式主要通过继承实现 比如有一个执行数据访问对象的父接口,和针对具体表的子接口 public interface IDao { public <T> List<T> query(); public <...原创 2019-05-29 16:14:11 · 123 阅读 · 0 评论 -
设计模式之代理模式
代理模式是Gof23种设计模式中的一种的,Spring中的AOP就是使用代理模式实现的。 静态代理 若代理类在程序运行前就已经存在,那么这种代理方式被称为静态代理 ,这种情况下的代理类通常都是我们在Java代码中定义的。 通常情况下, 静态代理中的代理类和目标类会实现同一接口或是派生自相同的父类。 创建代理类和目标类共同实现的接口 public interface SomeService { S...原创 2019-07-06 09:02:29 · 116 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式定义概述使用场景UML类图核心角色代码实现观察者模式定义抽象被观察者角色定义抽象观察者角色定义具体被观察者角色定义具体观察者角色定义客户端测试Java内置观察者模式实现定义具体被观察者定义具体观察者测试 定义 观察者模式又称为发布/订阅(Publish/Subscribe)模式,在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 概述 使用场景...原创 2019-07-18 08:19:53 · 197 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式模式引入介绍定义建造者模式的好处哪些情况下不要用建造者模式(缺点)抽象工厂模式对比建造者模式模式结构建造者模式的UML图建造者模式包含的角色建造者模式分析定义一个复杂产品类定义一个抽象建造者类定义具体建造者,实现接口指挥者类定义客户端 模式引入 无论是在现实世界中还是在软件系统中,都存在一些复杂的对象,它们拥有多个组成部分,如汽车,它包括车轮、方向盘、发动机等各种部件。而对于大多数用户而...原创 2019-08-06 15:19:25 · 115 阅读 · 0 评论