设计模式
_孤鸿
这个作者很懒,什么都没留下…
展开
-
设计模式之适配器模式
适配器模式 适配器模式就是将一个接口或者一个类转成另一个接口另一个类,让两个不兼容的类可以一起工作 适配器模式1、 // 等待被转换的类 public class Adaptee{ public void specificRequest(){ System.out.println("我等待被是配成目标接口"); } } public interface Target(){ void request(); // 目标类 } public class ClassAdapter ex原创 2021-08-01 14:41:43 · 63 阅读 · 0 评论 -
设计模式之工厂模式----抽象工厂实例:解决系统依赖于单一数据库的问题
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) // 默认是RetentionPolicy.CLASS。注解保留到class文件,jvm加载class后,遗弃注解。RetentionPolicy.RUNTIME直到jvm加载class,注解一致保留。 public @interface FieldName{ String name(); } public class Student{ @FeldName(name = "STU原创 2021-06-06 11:57:43 · 171 阅读 · 0 评论 -
设计模式之策略模式
使用场景,实现一个需求,要在多种不同的解决方案中选中一个。如商场打折等促销活动,最终需求只有一个,就是能够知道优惠后,顾客需要付多少钱。 // 环境类与抽象策略类写在一起 public abstract class CommodityCash{ private double money; setter; getter; public abstract double getRealMoney(); } // 正常,无优惠 public class CashNormal extends Commodit原创 2021-06-06 18:00:42 · 29 阅读 · 0 评论 -
设计模式之装饰器模式
装饰器模式一、 // 抽象组件。 public interface Component{ // 装饰方法 public void display(); } // 具体组件1 public class ConcreteComponent1 implements Component{ @Override public void display(){ System.out.printlin("我是组件1") } } // 装饰者1 public class Decorator1 implements原创 2021-07-03 22:48:55 · 49 阅读 · 0 评论 -
设计模式之原型模式
=,浅克隆,深克隆区别 1、= public class Student{ int studentNo; } public class Client{ public static void main(String[] args){ Student stu1 = new Student(); stu1.studentNo = 12345; Student stu2 = stu1; // 引用赋值 System.out.println(stu2 == stu1); // 输出true。stu原创 2021-07-25 10:53:46 · 72 阅读 · 0 评论 -
设计模式之模板方法模式
模板方法模式 模板方法模式可以封装一个算法骨架,由其子类实现算法具体内容。 public class Template{ public void timer(){ long start = start(); algorithm(); long end = end(); System.out.println("算法用时:" + (end - start) + "ms"); } public long start(){ long start = System.currentTimeMi原创 2021-07-25 19:29:40 · 47 阅读 · 0 评论 -
设计模式之外观模式
外观模式 public class SubSystem1{ public void method1(){ System.out.println("我是系统1"); } } public class SubSystem2{ public void method2(){ System.out.println("我是系统2"); } } public class SubSystem3{ public void method3(){ System.out.println("我是系统3");原创 2021-07-27 21:11:09 · 35 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式 public class Product{ private String productA; // 模拟产品对象中的复杂组件 private String productB; private String productC; public void setProductA(String productA){ this.productA = productA; } public String getProductA(){ return this.productA } pub原创 2021-07-28 21:09:28 · 39 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式 public interface Observer { <T>void response(T t); // 观察Subject,Subject属性发生变化,观察者做出响应 } public class abstract Subject { private List<Observer> observers = new ArrayList<>(); // 观察者集合 public void registerObserver(Observer observer原创 2021-07-29 21:43:28 · 64 阅读 · 0 评论 -
设计模式之状态模式
状态模式 public class Context{ // 环境类 private State state; // 当前环境的状态 public void serState(State state){ this.state = state; // 设置环境的当前状态 } public void getState(){ return this.state; // 获取环境的当前状态 } public handler(){ state.handler(this); // 状态自动变化,原创 2021-07-31 15:28:07 · 69 阅读 · 0 评论 -
设计模式之代理模式
1、静态代理 班长代理老师收班费。 // 代理类与目标类的公共接口 public interface Person{ void collectMoney(); } // 目标类 public class Teacher implements Person{ @Override public void collectMoney(){ System.out.println("老师收取班费"); } } public class Monitor implements Person{ Person原创 2021-07-12 21:55:19 · 129 阅读 · 0 评论