
设计模式
总结设计模式的
帅哥阿飞
这个作者很懒,什么都没留下…
展开
-
设计模式:依赖、关联、聚合、组合的UML图
原创 2021-11-08 17:38:17 · 213 阅读 · 0 评论 -
设计模式--策略模式和职责链模式
1、策略模式package com.yqj.pattern.strategy;abstract class Duck{ //属性,策略接口 protected FlyBehavior flyBehavior; public Duck(FlyBehavior flyBehavior) { this.flyBehavior = flyBehavior; } public abstract void display(); public v原创 2020-10-27 20:27:32 · 200 阅读 · 0 评论 -
设计模式--解释器模式和状态模式
1、解释器模式package com.yqj.pattern.memento;import java.util.ArrayList;import java.util.List;//原始对象class GameRole{ private int vit; private int def; public GameRole(int vit, int def) { this.vit = vit; this.def = def; }原创 2020-10-27 20:27:16 · 165 阅读 · 0 评论 -
设计模式--中介者模式和备忘录模式
1、中介者模式package com.yqj.pattern.mediator;import java.util.HashMap;import java.util.Map;//中介者抽象类abstract class Mediator { //将同事对象加入到集合 public abstract void register(String colleagueName, Colleague colleague); //接受消息,消息由具体的同事对象发出 publi原创 2020-10-27 20:26:59 · 195 阅读 · 0 评论 -
设计模式化--迭代器模式和观察者模式
1、迭代器模式package com.yqj.pattern.iterator;import java.util.ArrayList;import java.util.Iterator;import java.util.List;class Department { private String name; private String desc; public Department(String name, String desc) { this.n原创 2020-10-26 21:09:53 · 198 阅读 · 0 评论 -
设计模式--命令模式和访问者模式
1、命令模式package com.yqj.pattern.command;//具体执行者class LightReceiver{ public void on(){ System.out.println("开灯"); } public void off(){ System.out.println("关灯"); }}//命令接口interface Command{ //执行命令 public void exec原创 2020-10-26 21:08:08 · 350 阅读 · 0 评论 -
设计模式--代理模式和模板模式
1、代理模式1.1cglib代理package com.yqj.pattern.proxy.cglibproxy;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;import java.lang.reflect.Method;class TeacherDao{ public String teac原创 2020-10-26 21:06:31 · 342 阅读 · 0 评论 -
设计模式--外观模式和享元模式
1、外观模式package com.yqj.pattern.facade;class DVDPlayer { private static DVDPlayer dvdPlayer = new DVDPlayer(); private DVDPlayer() { } public static DVDPlayer getInstance() { return dvdPlayer; } public void on() {原创 2020-10-26 21:02:39 · 201 阅读 · 0 评论 -
设计模式--装饰者模式和组合模式
1、装饰者模式package com.yqj.pattern.bridge;interface Brand{ void open(); void call(); void close();}class Vivo implements Brand{ @Override public void open() { System.out.println("Vivo开机"); } @Override public void原创 2020-10-26 21:00:58 · 367 阅读 · 0 评论 -
设计模式--适配器模式和桥接模式
1、适配器模式1.1类适配器模式package com.yqj.pattern.adapter.classadapter;//被适配的类class Voltage220V{ public int output220V(){ int src = 220; System.out.println("输出电压="+src+"V"); return src; }}//适配器接口interface Voltage5V{ int out原创 2020-10-26 20:57:20 · 205 阅读 · 0 评论 -
设计模式--原型模式和建造者模式
1、原型模式package com.yqj.pattern.prototype.improve;public class Sheep implements Cloneable { private String name; private int age; private String color; public Sheep(String name, int age, String color) { this.name = name; t原创 2020-10-26 20:48:58 · 126 阅读 · 0 评论 -
设计模式--单例模式和工厂模式
1、单例模式1.1package com.yqj.pattern.singleton.type01;public class Singleton01 { public static void main(String[] args) { Singleton instance = Singleton.getInstance(); Singleton instance2 = Singleton.getInstance(); System.out.pr原创 2020-10-26 20:34:11 · 109 阅读 · 0 评论 -
设计模式总结5
单例模式:/创建一个单例,懒汉,饿汉,双重检验锁,静态内部类,枚举类简单工厂、方法模式:/类里面聚合了工厂类,依据工厂类来创建实例对象抽象工厂类:/类里面聚合了工厂类,不过吧工厂类拆分为一个抽象工厂类,下面有一个以上的工厂实现类,各个实现类创建不同产品实例对象。原型模式:/类重写Object的Colone方法,来复制类对象。建造者模式:/产品和产品构建的过程分开,如:房子类,普通房子、别墅房子实现类,抽象建造者接口组合房子类,建造者实现类,指挥者类聚合构建者类,然后调用构建者类构建房子过程及房子。原创 2020-10-26 17:36:48 · 100 阅读 · 0 评论 -
设计模式UML图03
14、访问者模式:要点:1》数据结构和操作分离;uml图:评分歌手图:15、迭代器模式:要点:1》隐藏集合数据结构来进行遍历;2》Intrator源码:uml图:学院案例图:原创 2020-08-05 21:04:21 · 406 阅读 · 0 评论 -
设计模式总结4
创建型1、Abstract Factory (对象):产品对象家族2、Factory Method:被实例化的子类3、Builder (对象):如何创建一个组合对象4、Prototype (对象):被实例化的类5、Singleton (对象):一个类的唯一实例结构型6、Adapter (类 & 对象):对象的接口7、Bridge (对象):对象的实现8、Composite (对象):一个对象的结构和组成9、Decorator (对象):对象的职责,不生成子类10、Facade原创 2020-08-05 09:18:55 · 206 阅读 · 0 评论 -
设计模式UML图02
1、单例模式1.1 、饿汉式要点:1》构造器私有化;2》本类创建静态常量内部实例;3》提供一个公有方法返回实例;1.2、懒汉式要点:1》构造器私有化;2》提供一个公有方法返回实例,在使用的时候,创建静态常量内部实例);...原创 2020-08-01 15:38:24 · 385 阅读 · 0 评论 -
设计模式UML图01
设计模式原则1、单一职责原则:类中只是负责一个功能,或者一个类中用方法分开功能。2、接口隔离原则:如果实现类,不需要所有的方法的话,可以把接口拆分成多个接口。3、依赖倒转原则:面向接口编程,接口下面多个实现类。(通过接口、构造器、set方法依赖传递)...原创 2020-07-27 21:53:56 · 90 阅读 · 0 评论