老张家的独苗
微信搜索「老张家的独苗」,回复关键字「资料」获取海量学习资源。我是张星,CSDN博客专家,CSDN内容合伙人,"老张家的独苗"公号作者,GitChat付费专栏作者,拥有5+年的技术TL的项目管理经验,1000+面试经验。
展开
-
Java之空对象模式
空对象模式,即一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。...原创 2022-08-05 14:14:21 · 450 阅读 · 0 评论 -
SpringBoot 策略+工厂模式优化if..else..
1.策略接口public interface IStrategy { /** * 根据id获取对应的图表数据 * @param dispatchQuery */ <T> T getGraphData(DispatchQuery dispatchQuery);}2. 策略工厂@Componentpublic class StrategyFactory { /** * 关键功能 Spring 会自动将 EntSt原创 2020-05-18 15:52:26 · 1435 阅读 · 0 评论 -
Java之中介者模式
中介者模式即用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。原创 2022-07-05 19:50:21 · 284 阅读 · 0 评论 -
Java之状态模式
在状态模式中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。原创 2022-07-05 16:07:06 · 295 阅读 · 0 评论 -
Java之委派模式
委派模式的基本作用是负责任务的调度和分配任务。它不属于23种设计模式的范畴。原创 2022-07-01 16:35:02 · 814 阅读 · 0 评论 -
Java之原型模式
原型模式是用于创建重复的对象,同时又能保证性能。它属于创建型模式,它提供了一种创建对象的最佳方式。原创 2022-06-30 16:27:08 · 295 阅读 · 0 评论 -
Java之备忘录模式
备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。原创 2022-06-29 18:18:05 · 362 阅读 · 0 评论 -
JAVA之策略模式
1.需求分析 近期笔者在设计mqtt的发布/订阅的主题,其主要采用了设计模式之策略模式,从一定程度解决了条件判断带来的代码冗余及松耦合的问题;2.使用场景①如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为;②一个系统需要动态地在几种算法中选择一种;③如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重...原创 2018-06-14 16:22:29 · 2444 阅读 · 0 评论 -
Java之门面模式
门面模式又名外观模式,它是以一种中介的形态处理各种子系统之间的复杂业务,调用者无需知道其中的具体逻辑;比如你要要装修一套房子,你不需要自己去跟水泥工,电工及钢筋工等打交道,你只需要跟装修公司沟通好需要装修的样式即可,这样省时省力。......原创 2022-06-17 18:15:08 · 565 阅读 · 0 评论 -
Java之适配器模式
适配器模式,将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起合作无间;主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。.........原创 2022-06-21 14:37:25 · 617 阅读 · 0 评论 -
JAVA之建造者模式
1.建造者模式简介 建造者模式又名创建者模式,是将一个复杂对象的构建过程与它的表示分离,从而使得相同的构建过程可以创建不同的表示;创建者模式隐藏了复杂对象的创建过程,它把复杂对象的构建加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。2.建造者模式的角色①建造者角色(Builder) 对复杂对象的创建过程加以抽象,通过一个抽象接口来规范复杂对象的各个组成部分的构...原创 2018-03-06 20:24:13 · 1451 阅读 · 1 评论 -
Java之观察者模式
其实,观察者模式在我们生活中很常见;最经典的一个场景就是警察抓小偷,此时小偷是被观察者,警察是观察者,一旦小偷偷东西犯案了,警察观察到了就立刻实施逮捕。原创 2022-06-08 18:19:38 · 427 阅读 · 1 评论 -
JAVA之单例模式
1.单例模式简介 单例模式是Java中最简单的一种设计模式,它是一种对象创建型模式,该单例负责自主的创建自己的对象,同时确保系统内只有单个对象被创建了;单例模式主要分为饿汉式和懒汉式单例,饿汉式属于立即加载模式,而懒汉式则属于延迟加载模式。2.单例模式的特征①单例类只有一个实例;②单例类必须自己创建自己的唯一实例;③单例类必须给外部类提供这唯一实例;3.饿汉式单例,线程安全 饿汉式单例是天生...原创 2018-03-05 11:13:21 · 309 阅读 · 2 评论 -
JAVA之装饰者模式
前言装饰者模式,动态的给对象添加一些额外的属性或行为。相比于使用继承,装饰者模式更加灵活。装饰者模式组件Component:装饰者和被装饰者共同的父类,是一个接口或者抽象类,用来定义基本行为ConcreteComponent:定义具体对象,即被装饰者Decorator:抽象装饰者,继承自Component,从外类来扩展ConcreteComponent。对于ConcreteComponent来说,不需要知道Decorator的存在,Decorator是一个接口或抽象类ConcreteDec原创 2021-04-28 21:29:27 · 215 阅读 · 0 评论 -
Java之组合模式
组合模式,又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。它将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。......原创 2022-06-28 16:45:03 · 200 阅读 · 0 评论 -
Java之桥接模式
桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。它将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。原创 2022-06-22 15:57:03 · 344 阅读 · 0 评论 -
JAVA之责任链模式
责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。...原创 2021-06-10 20:00:20 · 364 阅读 · 0 评论 -
Java之享元模式
所谓享元,即共享的对象。也就是在业务开发过程中,我们常把反复创建的对象缓存起来,要用的时候直接去缓存池里面获取,这样有利于节约系统内存,极大的提升系统的效率。原创 2022-06-14 15:06:44 · 226 阅读 · 0 评论 -
JAVA之命令模式
1.命令模式 将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式又称为动作(Action)模式或事务(Transaction)模式。2.适用场景①系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。②系统需要在不同的时间指定请求、将请求排队和执行请求。③系统需要支持命令的撤销(Undo)操作和恢复(...原创 2018-06-19 16:39:57 · 525 阅读 · 0 评论 -
JAVA之模板方法模式
模版方法模式,顾名思义就是定义一个抽象父类,其涵盖了需要子类实现的模版方法,一般地,不让子类实现的方法用final修饰;需要让子类实现的方法用protected修饰。抽象父类public abstract class Animal { final void attribute() { eat(); shout(); sleep(); } abstract void eat(); abstract void sh.原创 2021-04-26 21:29:51 · 196 阅读 · 0 评论 -
JAVA之代理模式
1.代理模式 代理模式为其它对象提供一种代理以控制这个对象的访问,主要解决在直接访问对象时带来的问题,有些对象由于某些原因,直接访问会给使用者或者系统带来很多麻烦,此时我们可以在访问此对象时加一个对该对象的访问层;不能直接操作目标对象,要访问它必须通过代理类访问,代理类可以完成目标对象的操作,还可以延展其他的操作,脏活累活它全揽;2.静态代理静态代理类必须持有真是对象的引用,以便达到操作真实.........原创 2018-06-20 20:40:39 · 353 阅读 · 0 评论