设计模式
琴无续弦
加油
展开
-
建造者模式
找商家买电脑:public class Computer { private String brand; private String screan; private String mainboard; private String memory; // getter and setter @Override public String toString() { return "Computer [brand=" + brand + ", screan=" + scre原创 2020-05-24 21:17:48 · 166 阅读 · 0 评论 -
模板模式
本质:子类重写父类方法,并且使用父类引用指向子类对象,调用此方法是子类的方法。模板抽象类,定义一些模板方法public abstract class Cook { public abstract void doCook(); public void addAfter() { System.out.println("加盐"); } public void addOil...原创 2019-12-19 16:42:32 · 82 阅读 · 0 评论 -
桥接模式
A1 A2 与 B1 B2 组合通常情况下定义A接口或抽象类,A1 A2实现或继承A,然后A1B1和A1B2继承A1,A2B1和A2B2继承A2,各自输出。这样做关联关系是强关联,桥接模式将抽象化和实现化解耦(分离),即将强关联转成弱关联。//抽象化角色public abstract class A { B b;//A不能为接口,不然这里定义属性为final类型 public ...原创 2019-03-11 15:19:55 · 102 阅读 · 0 评论 -
策略模式
/** * 抽象决策类 * @author Walker * */public abstract class Strategy { public abstract void backupDatabase();}/** * 具体策略类 * @author Walker * */public class StrategyA extends Strategy{ ...原创 2019-03-16 16:11:45 · 74 阅读 · 0 评论 -
责任链模式
//抽象处理者public abstract class Handler { protected Handler successor = null; public Handler getSuccessor() { return successor; } public void setSuccessor(Handler successor) { this.successor ...原创 2019-03-16 17:51:07 · 82 阅读 · 0 评论 -
装饰模式
有抽象类名为早餐,现在具体的食物只需继承早餐抽象类,就可以作为早餐。具体构件类,如只有breakfast抽象类和Hamburger类,满足需求。如果需求改变,hamburger需要加料,又不能或不想改变Hamburger类,那么需要用装饰者模式,添加抽象装饰类和具体装饰类。早餐类:public abstract class Breakfast { public String de...原创 2019-03-12 15:02:52 · 117 阅读 · 0 评论 -
适配者模式
需求:不改变某个类,加一些方法。适配器类,以这个类为基础添加需要的方法,也就是集成了这个类。1.类适配器:Student 类:会学习,运动,考试public class Student { protected String sname; public String getSname() { return sname; } public void setSname...原创 2019-03-12 15:34:09 · 138 阅读 · 0 评论 -
初识代理与动态代理(java 实现)
首先是接口和接口的实现类接口public interface A { public void print(); public void println();}接口实现类public class AImpl implements A { @Override public void print() { System.out.println("A"); } @Ove...原创 2019-05-14 17:30:38 · 107 阅读 · 0 评论