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

单例模式:

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

装饰器模式

相关推荐
Ting-yu3 分钟前
项目实战--网页五子棋(游戏房间)(6)
java·游戏
m0_7482359521 分钟前
Spring Boot问题总结
java·spring boot·后端
brhhh_sehe28 分钟前
Spring Boot 热部署
java·spring boot·后端
Dyan_csdn35 分钟前
【Java项目】基于Spring Boot的校园闲置物品交易网站
java·spring boot
工一木子1 小时前
【HeadFirst系列之HeadFirst设计模式】第14天之复合模式:设计模式的终极组合拳!
设计模式·复合模式
best_virtuoso1 小时前
过滤器 二、过滤器详解
java·前端
狂团商城小师妹2 小时前
JAVA多商户家政同城上门服务预约服务抢单派单+自营商城系统支持小程序+APP+公众号+h5
java·大数据·开发语言·微信小程序·小程序·uni-app·微信公众平台
m0_748247802 小时前
SOA(面向服务架构)全面解析
java·微服务·架构
m0_740154672 小时前
Tomcat
java·tomcat
爱敲代码的小冰2 小时前
【Excel】 Power Query抓取多页数据导入到Excel
android·java·excel