设计模式
文章平均质量分 56
一点莹
抬头是山,路在脚下
展开
-
设计模式—简单工厂和工厂方法
简单工厂: 代码分析: 由上图可以看出,当顾客需要购买车时不需要了解一个车是怎么生产出来的,只需和车工厂进行交互即可,一个个的品牌的车对象都是由车工场来创建的。 Car接口中规定了车的名称,不同品牌的车类实现了该接口,而CarFactory类和不同品牌的车采用组合的关系给用户提供car不同品牌的car对象。 缺点: 不满足开闭原则。 eg:当新增加一个车车品牌时,就要对车工场的代码进行修改。 代码实例: //Car接口 public interface Car { void name(); }原创 2021-03-11 17:39:20 · 101 阅读 · 0 评论 -
设计模式—静态代理和动态代理(AOP的底层实现原理)
代理模式可分为静态代理,动态代理。 1.静态代理: 静态代理的角色分析: 真实对象; 代理真实对象的对象(代理对象)一般会添加一些附加的操作; 真实对象和代理对象抽象出来的公共部分(一般为抽象类或者接口); 用户(通过代理对象来调用真实对象的方法)。 静态代理的一个代码案例: 情景模型:你(用户)通过租房中介(代理对象)从房东(真实对象)进行租房的活动。 真实对象(Host) //真实对象 public class Host implements Rent { public void rent(原创 2021-03-11 17:04:23 · 282 阅读 · 0 评论 -
设计模式—单例模式(饿汉式和懒汉式)
单例模式保证了一个类的实例的全局唯一性。 public class Singleton { //饿汉模式 private Singleton(){} //构造方法私有 private static Singleton singleton=new Singleton(); //在类内部创建实例对象 public static Singleton getSingleton(){ //对外提供一个获得该实例对象的公共接口 return singleton;原创 2021-01-21 22:51:12 · 151 阅读 · 0 评论 -
设计模式—静态代理
interface Marry { public void marry();//结婚 } //真实角色 class you implements Marry{ @Override public void marry() { System.out.println("XXX和YYY结婚。。。。"); } } //代理角色,帮助你结婚 class MarryCom implements Marry { //这里是成员变量 private Marr原创 2021-01-09 15:13:43 · 128 阅读 · 1 评论