自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 设计模式 - 代理模式

静态代理比动态代理更符合OOP原则,在日常开发中使用也较多。动态代理在开发框架时使用较多,例如大名鼎鼎的Spring。动态代理在AOP中运用比较广泛,比如日志记录,性能统计,安全控制,事务处理,异常处理等场景下。

2024-08-26 17:19:39 416

原创 设计模式 - 适配器模式

技术要点:适配器LogAdapter必须要实现目标接口且依赖那个提供功能的类型,此处为NLogger。优缺点:优点:极大的增强了程序的可扩展性,通过此模式,你可以随意扩展程序的功能,但却不需要修改接口。缺点:唯一可以称的上的缺点是多了一层,但是这也是没有办法的事情。这也算不上缺点吧。

2024-08-26 16:03:51 447

原创 设计模式 - 享元模式

1)对享元模式的理解: “享” 表示共享 “元” 表示对象。2)系统中有大量对象,这些对象消耗大量内存,并且对象的状态大部分可以外部化时,我们就可以考虑选用享元模式。3)用唯一标识码判断,如果内存中有则直接返回,一般使用 HashMap、HashTable 或者数组之内进行存储。4)享元模式提高了系统的复杂度。需要分离内部状态和外部状态。而外部状态具有固化特性,不应该随着内部状态的改变而改变,这是使用享元模式需要注意的地方。

2024-07-09 16:25:43 466

原创 设计模式 - 真实开发场景之策略模式 + 工厂模式

我们通过和 Spring 结合的方式,通过策略设计模式对文初的代码块进行了两块优化:应对代码的复杂性,让其满足开闭原则。更具体一些呢就是通过抽象策略算法类减少代码的复杂性,继而通过 Spring 的一些特性同时满足了开闭原则,现在来了新需求只要添加新的策略类即可,健壮易扩展。

2024-06-05 12:37:26 1069 3

原创 设计模式 - Builder Pattern 建造者模式

建造者模式(Builder Pattern)提供了一种清晰、灵活的方法,尤其适用于当对象包含多个属性时,能够避免构造器混乱,增强代码的可读性和可维护性。当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。

2024-05-15 17:06:17 643 1

原创 设计模式 - Template Method 模板方法模式

定义:模板方法设计模式是一种行为型设计模式,构建一个算法框架的方法,允许子类在维持算法整体结构不变的情况下,对算法的特定环节进行自定义实现。是不是很蒙?当然定义是要结合实践去理解的。使用场景:在重构的时候,发现写了两个或者多个几乎一样的类,只是有些方法的实现方式不一致,但是在使用这些类的地方调用方法顺序都一样,那就可以选择模板方法了!如上图所示,模板方法模式关键点如下:一个模板类`CoffeeMaker`,里面有一个定义为`final`的模板方法`makeCoffee()`。 多个模板实现类。

2024-05-10 10:40:41 586 2

原创 设计模式 - State 状态模式

定义:当一个对象内在状态改变时允许改变其行为,这个对象看起来像是改变了其类(定义要看完整篇文章后再来看)状态模式允许一个对象在内部状态改变时改变其行为。这意味着对象的行为取决于其当前状态,这使得状态模式在处理条件复杂的状态转换时非常有用。使用场景:你发现你的代码里面存在一个很长的`if else`列表,而这些分支都是因为不同状态下执行的操作不一样时考虑使用此模式。状态模式共有3个角色1、State是一个接口2、ConcreteState X3、Context

2024-05-09 10:46:09 914 1

原创 一文彻底弄懂23设计模式之工厂模式!

工厂模式一般有3种,分别是简单工厂模式,工厂模式,抽象工厂模式,都属于创建型设计模式。讨论的是如何创建对象的问题。就是以各种高逼格的方式最终将一个类的对象new出来,一点也不神秘。那么我们学习工厂模式的目的是什么?使用场景是什么?避免紧耦合、重复代码、扩展性差、难以维护等问题,在你需要new一个类的对象的时候,此时各种状况出现啦:1、直接创建对象的问题,不使用工厂模式,而是在客户端代码中直接创建对象。问题:2、创建过程复杂的问题,在客户端代码中直接处理复杂的创建逻辑。问题:3、依赖多个其他类的问

2024-05-08 11:40:21 1223 1

原创 责任链模式:Chain of responsibility

是命令发出者与执行者解耦。一个命令可以被多个处理器执行,例如各种框架中的拦截器设计模式通病:类增多了。如果组链时候不合理,可能导致请求得不到执行,还有可能将链变成一个环,请求在里面循环,永远都完不了。

2024-05-07 17:31:34 884 1

原创 策略模式:定义与实现

策略模式(Strategy Pattern)属于对象的行为模式,其定义了算法族,分别封装起来,让它们之间可以互相转换,此模式让算法的变化独立于使用算法的用户。

2024-04-29 17:29:12 406

原创 装饰模式 Decorator Pattern

装饰模式的优点在于它提高了代码的灵活性和可扩展性,通过动态组合对象来扩展功能,而不是通过继承。这避免了在系统中大量使用继承,使得系统更加灵活和易于维护。

2024-04-18 15:50:21 304 1

原创 Java中单例模式的实现方式

Java单例模式

2024-04-01 08:51:21 326 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除