23种设计模式初步介绍

前言

今天为大家分享的知识点是23种设计模式的初步介绍,概念性的东西会比较多,请耐心看看噢!

23种设计模式的分类

设计模式主要分三个类型:创建型、结构型和行为型。

23种设计模式的分类介绍

一、创建模式

1.工厂方法:一个工厂通过方法创建多个产品
2.抽象工厂方法:多个工厂创建多个产品族
3.建造者模式:分解构建步骤,分步构建
4.原型模式:一个对象需要多次修改部分值,利用克隆实现
5.单例模式:只要一个实例,减少系统开销

二、结构模式

6.适配器模式:重构时,不修改已有模块,增加适配器来协调2个模块工作
7.桥接模式:开发时,jdbc,需要增加桥对象,可切换对接对象,实现不同桥功能
8.组合模式:开发时,组织机构,文档结构
9.装饰器模式:重构时,不修改已有模块,对已有模块功能进行扩展
10.外观模式:开发重构
11.享元模式:开发时,创建对象池,共享对象,减少系统开销
12.代理模式:重构时,代理目标对象执行,主要是控制目标对象方式是否执行

三、行为模式

13.责任链模式:审批流
14.命令模式:浏览器的请求方式,封装请求,分离请求者与接收者
15.解释器模式:表达式解析
16.迭代器模式:迭代器
17.备忘录模式:ghost,保存当前对象状态,用于恢复
18.中介者模式:QQ,多个构件间通信的枢纽
19.观察者模式:消息通知,广播机制,通过注册接收者,观察者发消息给多个接收者
20.状态模式:针对对象切换,将状态封装成对象,通过切换状态来用不同状态对象实现相同方法。
21.策略模式:针对方法切换,对某个方法进行切换,实现不同的实现方式。
22.模板方法模式:sitmesh,tiles,freemarker就是类似装饰模式,只不过如同模板一般,只需要关注变动的地方即可
23.访问者模式:利用多态特性

四、23种设计模式之工厂模式

因为博主目前对工厂模式的操作较于其他的设计模式容易上手一点,所以就决定以这个为案例啦!

实现思路:

1、定义一个接口表示一个类型

2、再定义多个属于该类型的实现类实现接口中的方法

3、最后再写一个工厂类,定义一个接口返回类型的方法,参数为实现类的名字,根据不同的名字调用相应的类,去模拟生产相应的产品。

package com.wangqiuping.Test;
/**
 *
 * 23种设计模式之工厂模式
 * 
 *@author 小汪同学  2020年6月28日 下午11:14:10
 *
 */


public class FactoryPattern {
 
	public static void main(String[] args) {
		FactoryPattern car = new FactoryPattern();
		car.getCarType("Train").run();
		car.getCarType("Bus").run();
		car.getCarType("Taxi").run();
		car.getCarType("Motor").run();
	}
	
	public Car getCarType(String carType) {
		if(carType == null) {
			return null;
		}if(carType.equalsIgnoreCase("Train")) {
			return new Train();
		}if(carType.equalsIgnoreCase("Bus")) {
			return new Bus();
		}if(carType.equalsIgnoreCase("Taxi")) {
			return new Taxi();
		}if(carType.equalsIgnoreCase("Motor")) {
			return new Motor();
		}
		return null;
	}
}

/*
 * 接口类:车
 */
interface Car{
	public void run();
}

/*
 * 实现类:火车
 */
class Train implements Car{
	public void run() {
		System.out.println("火车正在发动...");
	}
}

/*
 * 实现类:客车
 */
class Bus implements Car{
	public void run() {
		System.out.println("客车正在发动...");
	}
}

/*
 * 实现类:出租车
 */
class Taxi implements Car{
	public void run() {
		System.out.println("出租车正在发动...");
	}
}

/*
 * 实现类:摩托车
 */
class Motor implements Car{
	public void run() {
		System.out.println("摩托车正在发动...");
	}
}

实现效果图:

在这里插入图片描述

工厂模式属于三种分类模式种的创建模式, 所谓工厂的话,当然是用来生产产品的啦!

总结

23种设计模式的初步介绍就到这里啦,欢迎评论留言交流噢!有时间会后续继续分享的哦,拜拜~
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_45464930/article/details/107009713