- 博客(5)
- 收藏
- 关注
原创 设计模式--委派模式
委派模式就是负责任务的调度和分配,和代理模式很相似,可以看作特殊情况下的静态代理的全权代理。但是委派模式注重结果,代理模式注重过程。 举个例子:商家通过外卖员送外卖到用户手中。 现在有用户接口如下: public interface Iuser{ public void order(String addr); } 并入如下两个用户: public class UserA implements IUser{ public void order(String addr){
2021-02-24 21:37:19 66
原创 设计模式--代理模式
代理模式是指为其他对象提供一种代理,以控制对这个对象的访问。在客户端和莫表对象之前起一个中介的作用。作用呢就是保护和增强目标对象(AOP)。 静态代理是指通过手动代理的方式完成代理,被代理的类增加方法,代理类也需要增加方法,很明显违背了开闭原则。而动态代理则是在运行时生成代码,取消了对类的扩展限制,符合开闭原则。 静态代理 就好比租房。 有这样一个房子接口: public interface Room{ //租房子 void findRoom(); } 一个刚毕业的大学生要租房子: p
2021-02-21 23:23:02 85
原创 设计模式--原型模式
原型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,调用者不需要知道任何创建细节,不调用构造函数。实现的方法很简单,只要继承cloneable接口即可。一般用于类创建复杂或者在循环中创建类的场景。主要包括深克隆和浅克隆。 浅克隆 浅克隆的实质是址引用。克隆对象与被克隆的对象在内存中的地址是同一个。所以浅克隆特别小心值改变的情况。代表人物arrayList. 深克隆 最常见的深克隆的方法就是序列化。而序列化会破坏单例。解决方法也很简单。单例类不实现cloneable接口,或者重写clo
2021-02-19 23:11:52 59 1
原创 设计模式--单例
单例:确保一个类在任何情况下都决定只有一个实例,只提供一个全局访问点,并隐藏构造方法。 饿汉式 在单例类首次加载就创建实例(浪费内存) public class Siglton{ private Siglton(){} public static final Siglton s = new Siglton(); public Siglton getInstance(){ return s; } } 或者你可以装装X public c
2021-02-18 22:23:03 132 2
原创 设计模式---工厂模式
设计模式----工厂模式 简单工厂模式 指由一个工厂对象决定创建出哪一种产品类的实例,但它不属于 GOF,23 种设计模式。 工厂方法模式 定义一个创建对象的接口。让实现这个接口的类来决定实例化哪个类;让类的实例化推迟到子类中。更符合单一职责。 缺点:类个数过多增加了代码结构的 ...
2021-02-18 21:16:53 64 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人