专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

Spring项目中用了这种模式,技术经理对我刮目相看!

macrozheng  · 公众号  ·  · 2024-07-05 14:10
    

文章预览

mall学习教程官网: macrozheng.com 前言 不知道大家在项目中有没有遇到过这样的场景,根据传入的类型,调用接口不同的实现类或者说服务,比如根据文件的类型使用 CSV解析器或者JSON解析器,在调用的客户端一般都是用 if else 去做判断,比如类型等于JSON,我就用JSON解析器,那如果新加一个类型的解析器,是不是调用的客户端还要修改呢?这显然太耦合了,本文就介绍一种方法,服务定位模式 Service Locator Pattern 来解决,它帮助我们消除紧耦合实现及其依赖性,并提出将服务与其具体类解耦。 文件解析器的例子 我们通过一个例子来告诉你如何使用 Service Locator Pattern 。 假设我们有一个从各种来源获取数据的应用程序,我们必须解析不同类型的文件,比如解析CSV文件和JSON文件。 定义一个类型的枚举 public   enum  ContentType {   JSON,   CSV } 定义一个解析 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览