![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java设计模式
风筱
最是人间留不住,朱颜辞镜花辞树。
展开
-
二十三种设计模式之观察者模式十三
观察者模式 package ink.yql.observer; import javafx.collections.ObservableList; import java.util.ArrayList; /** * @author YQL */ public abstract class Observed { ArrayList<Observer> observers; public void releaseNews(String str){ Sys原创 2020-09-11 09:38:53 · 102 阅读 · 0 评论 -
二十三种设计模式之责任链模式十二
责任链模式 package ink.yql.chainOfResponsibility; public class User { private Integer uid; private String uname; private String upwd; public User setUid(Integer uid) { this.uid = uid; System.out.println(this); return th原创 2020-09-10 14:32:06 · 120 阅读 · 1 评论 -
二十三种设计模式之享元模式十一
享元模式 package ink.yql.flyweight; /** * * @author YQL * 这是一个享元角色接口 */ public interface Flyweight { /** * @return */ String say(); } package ink.yql.flyweight; public class FlyweightImpl01 implements Flyweight{ private String原创 2020-09-05 17:32:35 · 269 阅读 · 0 评论 -
二十三种设计模式之外观模式十
外观模式 不多说了,上代码! package ink.yql.exterior; import sun.reflect.generics.tree.VoidDescriptor; public abstract class Food { String name; int money; int size = 1; abstract String getName(); abstract void setSize(Integer size); abstr原创 2020-09-05 17:26:06 · 171 阅读 · 1 评论 -
二十三种设计模式之桥接模式九
桥接模式 package ink.yql.bridging; public interface Brand { String getName(); } package ink.yql.bridging; public abstract class Goods { /** 一个产品一定有一个品牌 */ Brand brand; abstract String getDescription(); } package ink.yql.bridgin原创 2020-08-27 09:10:46 · 83 阅读 · 1 评论 -
二十三种设计模式之装饰者模式八
装饰者模式 要有一个总的父类 package ink.yql.decorativeFold; public abstract class Current { Integer money; public abstract int sumMoney(); } 装饰的父类 package ink.yql.decorativeFold; public abstract class Decoration extends Current{ Current current;原创 2020-08-26 22:19:02 · 100 阅读 · 1 评论 -
二十三种设计模式之适配器模式七
适配器模式 package ink.yql.adapter; public class Phone { public final void recharge(final Integer recharge){ if(recharge != 5){ throw new RuntimeException("电池可能会爆炸"); } System.out.println("电压是 "+recharge+"手机正在充电");原创 2020-08-26 22:16:45 · 105 阅读 · 1 评论 -
二十三种设计模式之代理模式六
代理模式 静态代理 被代理类 package ink.yql.proxy; public class Test01 { public void eat(){ System.out.println("我在吃饭"); } public void run(){ System.out.println("我在跑步"); } public void sport(){ System.out.println("我在运动");原创 2020-08-26 22:12:12 · 149 阅读 · 1 评论 -
二十三种设计模式之策略模式五
策略模式 策略模式就是对一个类进行整理,排序,过滤等 实体类 package ink.yql.strategy; import java.util.Comparator; // 实现离Comparable, Comparable本身就是策略模式 public class User implements Comparable<User> { private int uid; private String name; public User() { }原创 2020-08-26 22:09:08 · 102 阅读 · 1 评论 -
二十三种设计模式之建造者模式四
建造者模式 建造者模式的思想.就是我需要一个对象,我不用创建,我去找建筑商,然后我告诉建筑商我要的对象都有哪些属性, 建筑商它也不创建对象,建筑商去找一个或一些能创建和赋值的工人来干,由建筑商负责指挥工人先怎么样,再怎么样,最后将对象给我 实体类 package ink.yql.builder; // 需要被创建的类 public class RealEstate { private Integer floorNumber; private String name; publ原创 2020-08-26 22:07:34 · 75 阅读 · 1 评论 -
二十三种设计模式之工厂模式三
工厂模式 1. 简单工厂模式 简单工厂模式就是非常简单的将创建一个对象的动作给工厂 实体类 package ink.yql.factory; // 实体类 public class Phone { private String name; public void setName(String name) { this.name = name; } public String getName() { return name; }原创 2020-08-26 22:04:59 · 143 阅读 · 1 评论 -
二十三种设计模式之原型模式二
原型模式 package ink.yql.singleton02; public class User09 implements Cloneable{ private int uid; private String uname; public int getUid() { return uid; } public void setUid(int uid) { this.uid = uid; } public String getUname() { return uname原创 2020-08-26 21:55:19 · 104 阅读 · 2 评论 -
二十三种设计模式之单例模式一
单例模式 饿汉式 饿汉式 1 package ink.yql.singleton02; // 饿汉式 单例模式之一 public class User01 { // 静态变量,只有一个 private static User01 user = new User01(); private User01() { } public static User01 getInsetnes() { return user; } } 饿汉式 2 package ink.yql.singleton02原创 2020-08-26 21:50:30 · 111 阅读 · 1 评论