设计模式
JZ彭于晏
这个作者很懒,什么都没留下…
展开
-
设计模式六之观察者模式
/** 定义一个接口 规范被观察者拥有的行为 1.注册观察者 2.删除观察者 3.通知观察者 */ public interface Subject { void register(Observer o); void remove(Observer o); void notifyObservers(String msg); } /** 被观察者 */ public class Observed implements Subject{ private ArrayList<原创 2020-11-19 15:51:16 · 63 阅读 · 0 评论 -
设计模式五之代理模式
静态代理 /* 静态代理必须要有接口 被代理的类和代理类都去实现接口 代理类持有被代理类的引用 */ public interface ISell { void sell(); } public class Sell implements ISell{ @Override public void sell() { System.out.println("arc sell"); } } public class SellProxy implements ISel原创 2020-11-19 11:42:55 · 64 阅读 · 0 评论 -
设计模式四之装饰者模式
/* 定义最顶层接口 */ public interface Drink { String desc();//商品描述 int cost();//商品价格 } /* 被装饰者的父类 */ public class Tea implements Drink{ @Override public String desc() { return null; } @Override public int cost() { retur原创 2020-11-19 09:35:16 · 69 阅读 · 0 评论 -
设计模式三之适配器模式
类适配器 /* 被适配的类输出的数字是220 */ public class Src220 { int output(){ return 220; } } /* 目标期望输入另一个数 */ public interface Des5 { int input(); } /* 类适配器就是经过适配 将被适配的类的值进行处理 变成想要的值 */ public class VolAdapter extends Src220 implements Des5{ @Over原创 2020-11-18 20:02:38 · 66 阅读 · 0 评论 -
设计模式二之工厂模式
工厂模式可以分为 简单工厂模式(也叫静态工厂模式),工厂方法模式,抽象工厂模式 1,不使用任何工厂模式,直接调用类的构造函数创建实例,缺点是耦合度太高 /** 不使用工厂模式,直接调用类的构造函数 */ public interface Car { void make(); } public class Benz implements Car{ public Benz() { make(); } @Override public void make()原创 2020-11-18 16:34:31 · 123 阅读 · 0 评论 -
设计模式一之单例模式
/** 第一种单例模式:饿汉式 构造函数私有化 提供公共的静态函数 创建对象 */ public class Singleton { private final static Singleton s = new Singleton(); private Singleton() {} public static Singleton getInstance(){ return s; } } /** 第二种单例模式:懒汉式 跟第一种单例模式相比 懒汉式是在需要使用对原创 2020-11-18 10:56:08 · 51 阅读 · 0 评论