自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法学习笔记:169. 多数元素——摩尔投票算法(Moore‘s Voting Algorithm)

摩尔投票算法是一种用于在数组中寻找多数元素的有效方法。所谓的多数元素就是在数组中出现次数超过一半以上的元素。所以经常用于众数的查找

2025-03-01 15:52:22 535 1

原创 DeepSeek 结合 IDEA!辅助编程太强了!

对于 Java 开发者而言,将 DeepSeek 集成到 IDEA 中,就如同为自己的编程之路配备了一位智能助手,大幅提升开发效率,让编程变得更加轻松愉悦。重复上述的设置操作,在IDEA中找到已经安装的插件 CodeGpt 工具的设置,然后依次找到 Custom OpenAI 的设置。这里有三部分需要配置,高版本的 IDEA 不仅在功能上更加完善,而且在与 DeepSeek 的兼容性和稳定性方面也有更好的表现,能够为后续的集成工作提供坚实的基础。通过上述步骤,即可配置完成,配置完成后,点击应用和确认即可。

2025-02-07 18:01:28 2151 2

原创 Redis不同类型使用操作方法一文流(超级干货附带源码)

将StringRedisTemplate引用到对应工具类对应的工具类源文件已经上传。

2024-10-24 10:54:03 717 2

原创 【设计模式】JAVA Design Patterns——State(状态模式)

State(状态)模式是一种对象行为型设计模式,它允许对象在其内部状态发生改变时改变其行为。State模式的核心思想是将对象的行为封装在不同的状态对象中,并且使得对象在不同状态下可以切换。状态模式是一种允许对象在内部状态改变时改变它的行为的行为型设计模式。状态模式可以被理解为策略模式,它能够通过调用在模式接口中定义的方法来切换策略。当在长毛象的自然栖息地观察长毛象时,似乎它会根据情况来改变自己的行为。允许对象在内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式允许对象改变它的行为。

2024-06-08 08:54:55 1034 9

原创 【设计模式】JAVA Design Patterns——Servant(服务模式)

在软件工程中,仆人模式定义了一个对象,用于向一组类提供某些功能,而无需在每个类中定义该功能。仆人是一个类,其实例(甚至只是类)提供了处理所需服务的方法,而仆人为其(或与谁)做某事的对象被视为参数。Servant(仆人)模式,也称为Active Object 模式,是一种并发设计模式,用于提供并发对象之间的服务。仆人类被用于向一组类提供一些行为,区别于在每个类定义行为-或者当我们无法排除。皇家是一个接口,它被国王和女王类实现,以获取仆人的服务。确保一个仆人对象为一组被服务的对象提供一些特定的服务。

2024-06-07 09:30:00 682 3

原创 【设计模式】JAVA Design Patterns——Proxy(代理模式)

在最一般的形式上,代理是一个类,它充当与其他对象的接口。代理是客户端调用的包装器或代理对象,以访问后台的实际服务对象。在代理中,可以提供额外的功能,例如在对实对象的操作占用大量资源时进行缓存,或者在对实对象的操作被调用之前检查前提条件。想象有一个塔,当地的巫师去那里学习他们的法术。这里的代理就代表的塔的功能并添加访问控制。代理适用于需要比简单指针更广泛或更复杂的对象引用的情况。为另一个对象提供代理或占位符以控制对其的访问。使用代理模式,一个类代表另一个类的功能。创建一个简单的巫师类。然后这是进入塔的场景。

2024-06-06 09:30:00 1196 4

原创 【设计模式】JAVA Design Patterns——Private Class Data(私有类数据设计模式)

私有类数据设计模式试图通过限制属性的可见性来减少属性的暴露。通过将它们封装在单个Data对象中,可以减少类属性的数量。你想阻止家庭成员在你烹饪时偷偷品尝菜品,否则后面可能东西不够吃了。私有类数据模式通过将数据与使用它的方法分离到维护数据状态的类中,从而防止了对不可变数据的操纵。类 ,它的属性没有被私有类数据保护,从而使炖菜的成分对类方法易变。私有类数据是计算机编程中的一种设计模式,用于封装类属性及其操作。根据上面炖汤的例子。现在,其中的方法无法处理。在以下情况下使用私有类数据模式。创建每个类并调用其方法。

2024-06-05 09:30:00 425 4

原创 【设计模式】JAVA Design Patterns——Observer(观察者模式)

consumer想要消费kafka broker中的数据需要发送request,request发送的结果用RequestFuture来表示,RequestFuture中包含RequestFutureListener,当request处理完成后RequestFutureListener的相关方法会被调用。观察者模式是这样的一种软件设计模式:它有一个被称为主题的对象,维护着一个所有依赖于它的依赖者清单,也就是观察者清单,当主题的状态发生改变时,主题通常会调用观察者的方法来自动通知观察者们。

2024-06-04 10:12:06 1059 32

原创 【设计模式】JAVA Design Patterns——Monitor(监视器模式)

当您有代码的关键部分一次只需要由一个线程执行时。在并发编程(也称为并行编程)中,监视器是一种同步构造,它允许线程具有互斥性和等待(阻止)特定条件变为假的能力。:当您的应用程序涉及需要由多个线程访问和更新的共享数据结构、变量或资源时。主要目的是为多个线程或进程提供一种结构化和受控的方式来安全地访问和操作共享资源,例如变量、数据结构或代码的关键部分,而不会导致冲突或竞争条件。在应用监视器模式之前,建议彻底分析应用程序的并发需求,并选择最适合您需求的同步方法,同时考虑性能、复杂性和可用语言功能等因素。

2024-06-03 10:49:17 1352 9

原创 【设计模式】JAVA Design Patterns——Iterator(迭代器模式)

百宝箱包含一组魔法物品。有多种物品,例如戒指,药水和武器。可以使用藏宝箱提供的迭代器按类型浏览商品。在面向对象的编程中,迭代器模式是一种设计模式,其中迭代器用于遍历容器并访问容器的元素。提供一种在不暴露其基础表示的情况下顺序访问聚合对象的元素的方法。容器可以提供与表示形式无关的迭代器接口,以提供对元素的访问。遍历在宝箱中找到的戒指类型物品。创建含物品的藏宝箱是主要类。以下情况使用迭代器模式。

2024-06-01 10:34:53 775 14

原创 【设计模式】JAVA Design Patterns——Factory Method(虚拟构造器模式)

在基于类的编程中,工厂方法模式是一种创建型设计模式用来解决创建对象的问题,而不需要指定将要创建对象的确切类。这是通过调用工厂方法创建对象来完成的,而不是通过调用构造器。该工厂方法在接口中指定并由子类实现,或者在基类实现并可以选择由子类重写。为创建一个对象定义一个接口,但是让子类决定实例化哪个类。精灵需要精灵武器,而兽人需要兽人武器。现在随着客户的到来,会召唤出正确类型的铁匠并制造出要求的武器。它为类提供了一种把实例化的逻辑委托给子类的方式。以上面的铁匠为例,创建铁匠的接口和一些它的实现。

2024-05-31 09:41:12 673 5

原创 【设计模式】JAVA Design Patterns——Facade(外观模式)

Facade模式通常涉及一个名为Facade的单一类,该类提供了一个高级接口,用于与客户端交互,并将客户端的请求委派给系统内部的一组相关对象。这是你所相信的因为你在使用一个金矿对外提供的一个简单接口,在内部它要却要做很多事情。这个简单的接口对复杂的子系统来说就是一个外观。为一个子系统中的一系列接口提供一个统一的接口。外观定义了一个更高级别的接口以便子系统更容易使用。外观是为很大体量的代码(比如类库)提供简单接口的一种对象。使用上面金矿的例子。外观模式为一个复杂的子系统提供一个简单的接口。

2024-05-30 13:23:58 723 4

原创 【设计模式】JAVA Design Patterns——Dependency Injection(依赖注入模式)

依赖注入是一种软件设计模式,其中一个或多个依赖项(或服务)被注入或通过引用传递到一个依赖对象(或客户端)中,并成为客户端状态的一部分。可测试性:依赖注入允许将依赖项注入到组件中,这样在单元测试时可以轻松地替换真实的依赖项为模拟对象或者桩对象。改变行为:通过依赖注入,可以更容易地改变组件的行为,例如切换实现、调整配置等,而无需修改组件本身的代码。解耦配置和实现:依赖注入允许将组件的配置信息与其实现分离,这样可以更容易地管理和调整配置,并且可以减少重复的代码。依赖注入将客户端依赖的创建与其自身行为分开。

2024-05-29 09:28:55 1730 33

原创 【设计模式】JAVA Design Patterns——Decorator(装饰器模式)

在面向对象的编程中,装饰器模式是一种设计模式,它允许将行为静态或动态地添加到单个对象中,而不会影响同一类中其他对象的行为。装饰器模式通常对于遵守单一责任原则很有用,因为它允许将功能划分到具有唯一关注领域的类之间。附近的山丘上住着一个愤怒的巨魔之王。通常它是徒手的,但有时它有武器。为了武装巨魔不必创建新的巨魔,而是用合适的武器动态的装饰它。装饰者模式让你可以在运行时通过把对象包装进一个装饰类对象中来动态的改变一个对象的行为。动态的为对象附加额外的职责。接下来为巨魔之王添加棒球棒,可以使用装饰者来动态实现。

2024-05-28 09:30:05 846 8

原创 【设计模式】JAVA Design Patterns——Data Transfer Object(数据传递对象模式)

在编程领域,数据传输对象(DTO)是在进程之间承载数据的对象。使用它的动机是,通常依靠远程接口(例如Web服务)来完成进程之间的通信,在这种情况下,每个调用都是昂贵的操作。因为每个(方法)调用的大部分成本与客户端和服务器之间的往返时间有关,所以减少调用数量的一种方法是使用一个对象(DTO)来聚合将要在多次调用间传输的数据,但仅由一个调用提供。我们不使用一次查询一个属性,而是使用DTO一次传送所有相关属性。次将具有多个属性的数据从客户端传递到服务器,以避免多次调用远程服务器。类充当客户信息的服务器。

2024-05-28 09:16:07 505

原创 【设计模式】JAVA Design Patterns——Data Access Object(数据访问对象模式)

在计算机软件中,数据访问对象(DAO)是一种模式,可为某种类型的数据库或其他持久性机制提供抽象接口。有一组客户数据需要持久化到数据库中。我们需要整个额外的增删改查操作以便操作客户数据。对象为某种类型的数据库或其他持久性机制提供了抽象接口。DAO是我们通过基本持久性机制提供的接口。接口及其两个不同的实现。

2024-05-27 09:45:04 559 5

原创 【设计模式】JAVA Design Patterns——Curiously Recurring Template Pattern(奇异递归模板模式)

奇异递归模板模式(curiously recurring template pattern,CRTP)是C++模板编程时的一种惯用法:其中类X派生自使用X本身作为模板参数的类模板实例化。对于正在策划赛事的综合格斗推广活动来说,确保在相同重量级的运动员之间组织比赛至关重要。这样可以防止体型明显不同的拳手之间的不匹配,例如重量级拳手与雏量级拳手的对决。效果: 允许拳手与相同重量级的对手交手,如果对手是不同重量级,则会出现错误。使类型中的某些方法接受特定于其子类型的参数。定义MmaFighter 的一些子类型。

2024-05-27 09:23:38 628

原创 【设计模式】JAVA Design Patterns——Converter(转换器模式)

转换器模式的目的是提供相应类型之间双向转换的通用方法,允许进行干净的实现,而类型之间无需相互了解。此外,Converter模式引入了双向集合映射,从而将样板代码减少到最少。在真实的应用中经常有这种情况,数据库层包含需要被转换成业务逻辑层DTO来使用的实体。对于潜在的大量类进行类似的映射,我们需要一种通用的方法来实现这一点。现在就可以做到User和UserDto之间的映射编简单。转换器模式让一个类的实例映射成另一个类的实例变得简单。

2024-05-25 10:52:45 1116 4

原创 【设计模式】JAVA Design Patterns——Composite Entity(复合实体模式)

对于一个控制台对象,需要管理许多接口功能。通过使用复合实体模式,将消息对象、信号对象等依赖性对象组合在一起,直接使用单个对象对其进行控制。复合实体模式用于对一组相关联的持久化对象进行建模、描述和管理,用于取代对这组对象描述为单独粒度的实体。复合实体模式允许使用一个统一对象来管理一组相互关联的对象。适用console 复合实体进行消息对象,信号对象的分配。创建一个console复合实体继承上面的通用类。创建一个通用的符合对象。

2024-05-25 10:40:35 487

原创 【设计模式】JAVA Design Patterns——Composite(组合模式)

在软件工程中,组合模式是一种分区设计模式。组合模式中,一组对象将像一个对象的单独实例一样被对待。组合的目的是将对象“组成”树状结构,以表示部分整体层次结构。实现组合模式可使客户统一对待单个对象和组合对象。每个句子由单词组成,单词又由字符组成。这些对象中的每一个都是可打印的,它们可以在它们之前或之后打印一些内容,例如句子始终以句号结尾,单词始终在其前面有空格。将对象组合成树结构以表示部分整体层次结构。组合可以使客户统一对待单个对象和组合对象。组合模式使客户能够以统一的方式对待各个对象。

2024-05-24 13:58:13 373 4

原创 【设计模式】JAVA Design Patterns——Commander(指挥官模式)

如果当前运输可用,但支付服务不可用,或者反之,当我们已经收到用户的订单后,我们应该如何处理?我们需要有一个机制来处理这些情况。我们必须将订单指向其中一个服务(在这个例子中是运输),然后将订单添加到另一个服务的数据库中(在这个例子中是支付),因为两个数据库不能原子地更新。如果我们当前无法做到这一点,应该有一个队列,可以将这个请求排队,并且必须有一个机制,允许队列中出现失败。所有这些都需要通过不断的重试,在保证幂等性(即使请求多次,变化只应用一次)的情况下,由一个指挥类来完成,以达到最终一致性的状态。

2024-05-24 13:49:17 537

原创 【设计模式】JAVA Design Patterns——Command(事务模式)

有一个巫师在地精上施放咒语。咒语在地精上一一执行。第一个咒语使地精缩小,第二个使他不可见。然后巫师将咒语一个个的反转。这里的每一个咒语都是一个可撤销的命令对象。在面向对象编程中,命令模式是一种行为型设计模式,它把在稍后执行的一个动作或触发的一个事件所需要的所有信息封装到一个对象中。将请求封装为对象,从而使你可以将具有不同请求的客户端参数化,队列或记录请求,并且支持可撤销操作。用命令对象的方式存储请求以在将来时可以执行它或撤销它。创建咒语的目标:地精。

2024-05-23 10:49:51 786 7

原创 【设计模式】JAVA Design Patterns——Combinator(功能模式)

简单地说,有一些类型 T,一些用于构造类型 T 的“原始”值的函数,以及一些可以以各种方式组合类型 T 的值以构建更复杂的类型 T 值的“组合器”在计算机科学中,组合逻辑被用作计算的简化模型,用于可计算性理论和证明理论。尽管组合逻辑很简单,但它捕获了计算的许多基本特征。组合器是一个高阶函数,仅使用函数应用程序和之前定义的组合器来定义其参数的结果。从开发人员的角度来看,API 由领域中的术语组成。组合器允许从先前定义的“事物”创建新的“事物”。另一个组合器用于一些复杂的查找器。首先构造一个实例,然后执行它。

2024-05-23 09:35:53 573

原创 【设计模式】JAVA Design Patterns——Static Content Hosting(静态内容托管模式)

与由 Web 应用程序生成的动态网页相反,静态网页(有时称为平面网页或固定网页)是完全按照存储的方式传送到用户的网页浏览器的网页。静态内容托管模式利用云原生存储服务来存储内容和全球内容交付网络,将其缓存在世界各地的多个数据中心。全球性的营销网站(静态内容)需要快速的部署以开始吸引潜在的客户。CloudFormation 分发部署需要一些时间,但一旦完成,您的网站就会从全球各地的数据中心提供服务!命令的舒勇将显示准确的分配配置项,包括包括可用于测试的生成的 CloudFront 域名,例如。

2024-05-22 17:27:32 1161 3

原创 【设计模式】JAVA Design Patterns——Circuit Breaker(断路器模式)

因此,如果其中一个远程服务缓慢或未成功响应,我们的应用程序将尝试使用多个线程/进程从远程服务获取响应,很快它们都会挂起(也称为 [线程饥饿]我们应该能够检测到这种情况并向用户显示适当的消息,以便他/她可以探索不受远程服务故障影响的应用程序的其他部分。.如果失败次数超过某个阈值,我们将进入“open”状态,这就像开路一样,阻止远程服务调用,从而节省资源。断路器允许优雅地处理失败的远程服务。以这样一种方式处理昂贵的远程服务调用,即单个服务/组件的故障不会导致整个应用程序宕机,我们可以尽快重新连接到服务。

2024-05-22 16:45:44 2192 14

原创 【设计模式】JAVA Design Patterns——Chain of responsibility(责任链模式)

在面向对象设计中,责任链模式是一种由源命令对象和一系列处理对象组成的设计模式。每个处理对象包含了其定义的可处理的命令对象类型的逻辑。剩下的会传递给链条中的下一个处理对象。通过给多个对象一个处理请求的机会,避免请求的发送者和它的接收者耦合。串联接收对象并在链条中传递请求直到一个对象处理它。兽王大声命令他的军队。最近响应的是指挥官,然后是军官,然后是士兵。指挥官,军官,士兵这里就形成了一个责任链。请求从一个对象中进入并结束然后进入到一个个对象中直到找到合适的处理器。兽人发起了请求(命令),创建请求类。

2024-05-22 16:30:19 216

原创 【设计模式】JAVA Design Patterns——Callback(回调模式)

在计算机编程中,回调又被称为“稍后调用”函数,可以是任何可执行的代码用来作为参数传递给其他代码;其它代码被期望在给定时间内调用回调方法。回调是一部分被当为参数来传递给其他代码的可执行代码,接收方的代码可以在一些方便的时候来调用它。我们需要被通知当执行的任务结束时。我们为调用者传递一个回调方法然后等它调用通知我们。回调是一个用来传递给调用者的方法,它将在定义的时刻被调用。执行一个任务完成时接受的一个回调。创建一个任务在完成之后执行回调。创建一个简单的方法接口。

2024-05-22 09:46:15 533

原创 【设计模式】JAVA Design Patterns——Bytecode(字节码模式)

巫师的行为需要经过精心的调整和上百次的游玩测试。每次当游戏设计师想改变巫师行为时都让程序员去修改代码这是不妥的,所以巫师行为以数据驱动的虚拟机方式实现。指令集定义了可以执行的低级操作。虚拟机一次一条地执行这些指令,中间的值用栈处理。通过组合指令,可以定义复杂的高级行为。展示虚拟机可用的指令。每个指令对于如何操作栈中的数据都有自己的语义。例如,增加指令,其取得栈顶的两个元素并把结果压入栈中。它将指令作为输入并执行它们以提供游戏对象行为。字节码模式支持由数据而不是代码驱动的行为。允许编码行为作为虚拟机的指令。

2024-05-22 09:25:47 634

原创 【设计模式】JAVA Design Patterns——Builder(构造器模式)

最简单的选择是让计算机为你创建角色。但是如果你想选择一些像专业,性别,发色等角色细节时,这个角色生成就变成了一个渐进的过程。构造器参数的数量很快就会失控同时参数的排列方式可能变得难以理解。另外,如果您将来希望添加更多选项,则此参数列表可能会继续增长。允许你创建不同口味的对象同时避免构造器污染。当一个对象可能有几种口味,或者一个对象的创建涉及到很多步骤时会很有用。建造者模式是一种对象创建的软件设计模式,旨在为伸缩构造器反模式寻找一个解决方案。将复杂对象的构造与其表示分开,以便同一构造过程可以创建不同的表示。

2024-05-21 09:45:00 803

原创 【设计模式】JAVA Design Patterns——Business Delegate(业务委托模式)

该模式旨在减少业务服务与连接的表示层之间的耦合,并隐藏服务的实现细节(包括EJB体系结构的查找和可访问性)。业务委托模式在表示层和业务层之间添加了一个抽象层。通过使用该模式,我们获得了各层之间的松散耦合,并封装了有关如何定位,连接到组成应用程序的业务对象以及与之交互的逻辑。它捕获用户的搜索字符串,并将其传递给业务委托层。业务委托层选择最合适的视频流服务,然后从那里播放视频。业务委托类使用业务查找服务将电影播放请求路由到合适的视频流服务。业务委托模式在表示层和业务层之间添加了一个抽象层。

2024-05-21 09:45:00 359

原创 【设计模式】JAVA Design Patterns——Bridge(桥接模式)

考虑一下你拥有一种具有不同附魔的武器,并且应该允许将具有不同附魔的不同武器混合使用。为每个附魔创建每种武器的多个副本,还是只是创建单独的附魔并根据需要为武器设置它?桥接模式使您可以进行第二次操作。桥接模式是一个更推荐组合而不是继承的模式。将实现细节从一个层次结构推送到具有单独层次结构的另一个对象。桥接模式是软件工程中使用的一种设计模式,旨在“将抽象与其实现分离,从而使两者可以独立变化”将抽象与其实现分离,以便二者可以独立变化。

2024-05-20 14:54:51 819 1

原创 【设计模式】JAVA Design Patterns——Balking(止步模式)

洗衣机是一个具有两个状态的对象,可以处于两种状态:ENABLED和WASHING。禁止模式是一种软件设计模式,仅当对象处于特定状态时才对对象执行操作。例如,一个对象读取zip压缩文件并在压缩文件没打开的时候调用get方法,对象将在请求的时候”止步“。当洗衣机处于非活动状态时,按钮将按预期工作,但是如果已经在洗涤,则按钮将不起任何作用。止步模式用于防止对象在不完整或不合适的状态下执行某些代码。使用止步模式,仅当对象处于特定状态时才执行特定代码。,则它将不执行该操作,而是不执行任何操作而返回。

2024-05-20 14:42:35 487

原创 【设计模式】JAVA Design Patterns——Async Method Invocation(异步方法调用模式)

在多线程计算机编程中,异步方法调用(AMI),也称为异步方法调用或异步模式,是一种设计模式,其中在等待被调用的代码完成时不会阻塞调用站点。异步方法调用是一个调用线程 在等待任务结果时不会阻塞的模式,模式为多个独立的任务提供并行的处理方式并且通过回调或等到它们全部完成来接受任务结果。任务指挥官发出了发射命令,经过一段不确定的时间后,火箭要么成功发射,要么惨遭失败。异步方法调用开始任务处理,并在任务完成之前立即返回。任务处理的结果稍后返回给调用方。(用于异步评估值的中间容器),(用于管理异步任务的执行)。

2024-05-18 14:37:46 446 1

原创 【设计模式】JAVA Design Patterns——Arrange/Act/Assert(安排/执行/断言模式)

这种模式有几个明显的好处。它在测试的设置,操作和结果之间建立了清晰的分隔。当您编写测试时,它还会强制执行一定程度的纪律。您必须清楚地考虑您的测试将执行的三个步骤。根据安排/ 执行 / 断言模式编写单元测试(注意每个单元测试的步骤是分开的清晰的)。安排/执行/断言是一种测试模式,将测试分为三个清晰的步骤以方便维护。安排/执行/断言是用于在单元测试方法中排列和格式化代码的模式。你需要结构化你的单元测试代码这样它们可以更好的阅读,维护和增强。安排/执行/断言(AAA)是组织单元测试的一种模式。

2024-05-18 10:29:05 595

原创 加入CSDN大家庭128天的总结记录

因为自身院校可能不太好,所以就没有达到去进入一个开发比较规范的大厂门槛,所以在毕业之后为了进入后端这个行业,就只能去找一个不太规范且待遇不太好的实习外包,在这份公司中我也学到了很多东西,比如一些三层架构和一些Java开发基础的东西,随着工作一年后的时间过去,来到了现在的公司(一个中型新能源自研)其实差距还是有点大的。总之把遇到的问题,学到的知识记录下来,可以更好的让自己提升,要不然你可能会发现自己进步的很慢,之前遇到的问题,可能还会遇到,时间还是在浪费,对于我们来讲时间就等于效率就等于金钱。

2024-05-17 10:24:32 841 2

原创 【设计模式】JAVA Design Patterns——API Gateway(API网关模式)

如果客户端直接调用每个微服务,则可能会导致更长的加载时间,因为客户端将不得不为每个调用的微服务发出网络请求。此外,让客户端调用每个微服务会直接将客户端与该微服务相关联-如果微服务的内部实现发生了变化(例如,如果将来某个时候合并了两个微服务),或者微服务的位置(主机和端口) 更改,则必须更新使用这些微服务的每个客户端。API网关是充当API前置,接收API请求,执行限制和安全策略,将请求传递到后端服务,然后将响应传递回请求者的服务器。对于使用微服务架构实现的系统,API是聚合微服务调用的入口点。

2024-05-17 09:33:16 668

原创 【设计模式】JAVA Design Patterns——Aggregator Microservices(聚合器微服务模式)

网络市场需要有关产品及其当前库存的信息。它调用聚合服务,聚合服务依次调用产品信息微服务和产品库存微服务,返回组合信息。生成聚合器服务,包含用于调用相应微服务的客户端ProductInformationClient。当需要各种微服务的统一API时,无论客户端设备如何,都可以使用Aggregator微服务模式。设置产品信息微服务的精华实现。用户对聚合器服务进行一次调用,然后聚合器将调用每个相关的微服务。从各种微服务中收集数据,并返回一个聚合数据以进行处理。调用 聚合器 REST API返回产品信息。

2024-05-16 09:30:00 298 1

原创 【设计模式】JAVA Design Patterns——Adapter(适配器模式)

考虑有这么一种情况,在你的存储卡中有一些照片,你想将其传到你的电脑中。为了传送数据,你需要某种能够兼容你电脑接口的适配器以便你的储存卡能连上你的电脑。在软件工程中,适配器模式是一种可以让现有类的接口把其作为其他接口来使用的设计模式。它经常用来使现有的类和其他类能够工作并且不用修改其他类的源代码。现在海盗来了,我们的船长需要逃跑但是只有一个渔船可用。需要创建一个可以让船长使用其划船技能来操作渔船的适配器。将一个接口转换成另一个客户所期望的接口。适配器模式让你可以把不兼容的对象包在适配器中,以让其兼容其他类。

2024-05-15 11:31:24 408

原创 【设计模式】JAVA Design Patterns——Acyclic Visitor(非循环访问者模式)

我们有一个调制解调器类的层次结构。需要使用基于过滤条件的外部算法(是Unix或DOS兼容的调制解调器)来访问此层次结构中的调制解调器。非循环访客模式允许将新功能添加到现有的类层次结构中,而不会影响这些层次结构,也不会创建四人帮访客模式中固有的循环依赖问题。如果子类需要覆盖(重写)父类的方法,那么子类的方法参数、返回类型和异常处理等要与父类方法保持一致,以确保可以无缝替换。允许将新功能添加到现有的类层次结构中,而不会影响这些层次结构,也不会有四人帮访客模式中那样循环依赖的问题。

2024-05-15 11:00:43 1403

原创 【设计模式】JAVA Design Patterns——Active Object(活动对象设计模式)

活动对象设计模式使每个驻留在其控制线程中的对象的方法执行与方法调用脱钩。目的是通过使用异步方法调用和用于处理请求的调度程序来引入并发。要实现具有自己的控制机制线程并仅公开其API而不公开自己的执行,我们可以使用活动对象模式。任何将扩展ActiveCreature的类都将具有自己的控制线程来执行和调用方法。兽人以其野性和顽强的灵魂而著称。似乎他们有基于先前行为的控制线程。实现活动对象模式的类将包含自同步机制,而无需使用“同步”方法。

2024-05-14 10:28:00 365

redis使用的操作工具类(超级干货)

将工具类放入指定目录,使用时将其应用调用其方法即可

2024-10-24

空空如也

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

TA关注的人

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