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种设计模式的初步介绍就到这里啦,欢迎评论留言交流噢!有时间会后续继续分享的哦,拜拜~