工作中遇到的设计模式整理

单例模式:

复制代码
public class Singleton {
    public static Singleton instance;
    private Singleton(){

    }
    public static Singleton getInstance() {
        if(instance==null){
            synchronized (Singleton.class){
                if(instance==null){
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    instance=new Singleton();
                }
            }
        }
        return instance;
    }
}

工厂模式:

复制代码
interface Shape{
	void draw();
}
class Rectangle implements Shape{
	@Override
	public void draw(){
	    System.out.println("Inside Rectangle::draw() method.");
    }
}
class Circleimplements Shape{
	@Override
	public void draw(){
	    System.out.println("Inside Rectangle::draw() method.");
    }
}
class ShapeFactory(){
	Public Shape getShape(String shapeType){
	    if(shapeType==null){
	        return null;
        }
        if(shapeType.equals("circle")){
	        return new Circle();
        }else if(shapeType.equals("rectangle")){
	        return new Rectangle();
        }
        return null;
    }
}

代理模式

jdk动态代理,实现接口的类

cglib动态代理

策略模式

ability

装饰器模式

相关推荐
醇氧6 小时前
【Windows】从守护到终结:解析一个 Java 服务的优雅停止脚本
java·开发语言·windows
努力发光的程序员6 小时前
互联网大厂Java求职面试实录
java·jvm·线程池·多线程·hashmap·juc·arraylist
小鹿学程序6 小时前
FileZilla连接到虚拟机
java·服务器·开发语言
Haooog6 小时前
Docker面试题(不定时更新)
java·docker·面试
feathered-feathered6 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
毕设源码-赖学姐6 小时前
【开题答辩全过程】以 高校排课系统的优化设计与实现为例,包含答辩的问题和答案
java·eclipse
q_19132846956 小时前
基于SpringBoot2+Vue2的行业知识答题考试系统
java·vue.js·spring boot·mysql·毕业设计·计算机毕业设计·演示文稿
上78将6 小时前
Java中既有编译执行又有解释执行,这个怎么理解?
java·开发语言
Mr_Xuhhh6 小时前
JAVA期末重点
java·开发语言·python
a程序小傲6 小时前
小红书Java面试被问:java创建对象有哪些方式?
java·开发语言·面试