
设计模式
架构师小侯
JAVA架构师
一个热爱编程的程序员
技术路线,微服务->大数据->大模型
展开
-
hjr-设计模式:代理模式
过程我们想要实现一个功能 1. 建一个接口I定义该功能。 2. 建一个类A实现该接口。 3. 但是我们又不想让别人知道这个功能是A实现的,因此建一个类B实现接口I。 关键来了 类B并不是像A那样真的实现接口I定义的功能,而是建一个A类的引用,然后实现时调用了A的实现,如:I;//定义接口//真实类Class A :: I{ 实现I;}//代理类Class...原创 2017-01-25 01:04:11 · 275 阅读 · 0 评论 -
hjr-设计模式:原型模式
原型模式使用对象克隆代替重新创建对象,一般语言自带clone功能。如存在类A,需要例化多个A的对象://不用原型模式A a1 = new A();A a2 = new A();//使用原型模式A ai = new A();A a2 = a1.clone();由上可见,原型模式隐藏了对象创建细节并避免了多次new即多次执行构造函数,优化了性能。限制直接在内存...原创 2017-01-25 00:17:07 · 373 阅读 · 0 评论 -
hjr-设计模式:装饰者模式
依赖注入与工厂模式的区别依赖注入是定义一个接口,然后对该接口有多个实现类,接下来定义一个容器类,该容器类会使用反射根据传入不同的参数return new不同的接口实现类,使用时例化一个容器传入不同参数。 工厂模式是一个抽象父类有很多子类实现,接下来定义一个工厂类,该工厂类会使用反射根据传入不同的参数return new不同的接口实现类,使用时例化一个工厂传入不同参数。 主要一个是接口一个是...原创 2017-01-12 16:23:13 · 297 阅读 · 0 评论 -
hjr-设计模式:策略模式
六大原则:空对象枚举类型策略模式结合简单工厂策略模式与简单工厂模式的区别反射六大原则:单、开、里、接、依、依单一职责原则(SRP):每个对象只应该为一个元素而改变而且只有一个职责关注点开放封闭原则(OCP):加新功能时,新建一个类添加该功能,而不是直接在现有类里修改添加。里氏替换原则(LSP):这个原则帮助我们判断两个类是否可以确定继承关系,我们为什么要...原创 2016-10-25 13:23:25 · 791 阅读 · 0 评论 -
hjr-设计模式:单例模式
使用单例,使用getInstance而不用newgetInstance:做一个判断,如果已经存在则直接获取对象,不存在会new 一个对象原创 2019-07-24 15:56:07 · 171 阅读 · 0 评论 -
hjr-设计模式-工厂模式
重写多态引用类型和数据类型抽象类简单工厂模式总结工厂方法模式重写子类一个方法fun与父类同名,用下面格式例化对象: 父类 ob = new 子类();这样当我们用使用db里的fun方法时,实际执行的是子类的方法,而不是父类的fun,虽然我们声明ob的类型是父类的类型。多态这就造成了一个问题,当我们定义很多子类后,用上面格式例化对象后,引用...原创 2016-10-08 17:17:15 · 391 阅读 · 0 评论