java设计模式
magicproblem
自学中。。。。。。。。
展开
-
装饰者模式
1、uml类图2、两个对象主体:被装饰的对象(打包)包装:包装核心类,即各个在类中继承Decorator的调料类3、代码//包装核心类(包装)package test.decorator;/** * 包装类 */public class Decorator extends Drink{ private Drink drink; public Decorator(Drink drink){ this.drink = drink; }原创 2021-04-12 17:52:26 · 60 阅读 · 0 评论 -
桥接模式
1、UML类图2、代码抽象类/** * 抽象类 */public abstract class Graphical { Color color; public Graphical(Color color){ this.color = color; } public void showColor(){ color.color(); } public abstract void showShape();}具原创 2021-03-19 18:04:04 · 89 阅读 · 0 评论 -
适配器模式
1、适配器的角色1)目标(Target):使用的特定接口。2)被适配者(Adaptee):一个现存需要适配的接口。3)适配器(Adapter):负责将Adaptee的接口转换为Target的接口。适配器是一个具体的类,这是该模式的核心。2、类适配器类图代码适配器类/** * 电压适配器 */public class VoltageAdapter extends Voltage220V implements IVoltage110V { @Override public原创 2021-03-18 15:09:39 · 1366 阅读 · 0 评论 -
建造者模式
1、UML类图**简单介绍:**建造者模式可以将复杂对象的建造过程抽象出来这个抽象过程。建造者模式只需通过指定复杂对象的类型和内容就可以构建他们,用户不需要知道具体构建的细节。2、建造者模式的四个角色1)产品:建造的对象2)抽象建造者:指定产品的各个部件的接口或是抽象类3)具体建造者:实现接口,并构建各个部件4)指挥者:控制产品的生产流程3、代码抽象建造者/** * 抽象建造者 * 用于构建产品的流程 */public abstract class HouseBuilder {原创 2021-03-18 10:19:16 · 52 阅读 · 0 评论 -
原型模式
1、示例图2、代码实现原型模式的核心类/** * 1、实现Cloneable接口 * 2、实现clone方法 */public class Sheep implements Cloneable{ private String name; private Integer age; public Sheep(String name, Integer age) { this.name = name; this.age = age;原创 2021-02-26 10:05:37 · 90 阅读 · 0 评论 -
工厂设计模式
一、简单工厂(静态工厂)简单工厂即实例化工厂类调用创建方法获取对象静态工厂即直接调用工厂静态方法获取对象(示例)优点结构比较简单,易懂缺点违反了设计模式的ocp原则,即对扩展开放,对修改关闭。即当我们给类增加新功能的时候,尽量不修改代码,或者尽可能少修改代码.当我们新增加产品对象时我们需要修改代码,在其中新增一个判断。uml类图工厂类/** * 简单工厂模式 */public class SimpleFactroy { public static Produc原创 2021-02-07 09:35:25 · 153 阅读 · 1 评论 -
单例设计模式
一、饿汉式(线程同步)优点:线程安全缺点:在类加载的时候就已经实例化,没有达到懒加载的效果,若是没有使用实例,则就造成内存的浪费1、静态常量/** * 饿汉式一 */public class Singleton01 { private Singleton01() {} private static Singleton01 instance = new Singleton01(); public Singleton01 getInstance(){原创 2021-02-04 17:46:51 · 67 阅读 · 0 评论