当前位置: 首页 > news >正文

织梦音乐网站模板seo建站教程

织梦音乐网站模板,seo建站教程,宜宾百度网站建设,哪个网站可以做砍价【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等 目录 【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等 优势 适用场景 项目结构 关键代码 优势 消除 switch:将分支逻辑分散到独立的策略类中。 开闭原则:新增类型只需添加新的 TypeHa…

【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等

目录

【设计模式】JAVA 策略 工厂 模式 彻底告别switch if 等

 优势

 适用场景

项目结构

关键代码


 优势

  • 消除 switch:将分支逻辑分散到独立的策略类中。

  • 开闭原则:新增类型只需添加新的 TypeHandler 实现类,无需修改已有代码。

  • 依赖注入:由 Spring 管理 Bean 生命周期,天然支持单例、原型等作用域。

  • 易于测试:每个策略类可单独测试,工厂类可通过 Mock 注入。

 适用场景

  • 类型数量庞大(如上百种)。

  • 不同类型的处理逻辑独立且可能频繁变更。

  • 需要动态扩展支持新类型。

项目结构
src/main/java
├── com.example.demo
│   ├── handler
│   │   ├── TypeHandler.java
│   │   ├── TypeAHandler.java
│   │   ├── TypeBHandler.java
│   │   └── DefaultHandler.java
│   ├── factory
│   │   └── TypeHandlerFactory.java
│   └── service
│       └── BusinessService.java

关键代码
// TypeHandler.java
public interface TypeHandler {void handle();String getType();
}// TypeAHandler.java
@Component
public class TypeAHandler implements TypeHandler {@Overridepublic void handle() { System.out.println("处理类型A"); }@Overridepublic String getType() { return "A"; }
}// TypeHandlerFactory.java
@Component
public class TypeHandlerFactory {private final Map<String, TypeHandler> handlerMap;@Autowiredpublic TypeHandlerFactory(List<TypeHandler> handlers) {handlerMap = handlers.stream().collect(Collectors.toMap(TypeHandler::getType, handler -> handler));}public TypeHandler getHandler(String type) {return Optional.ofNullable(handlerMap.get(type)).orElseThrow(() -> new IllegalArgumentException("未知类型: " + type));}
}// BusinessService.java
@Service
public class BusinessService {private final TypeHandlerFactory handlerFactory;@Autowiredpublic BusinessService(TypeHandlerFactory handlerFactory) {this.handlerFactory = handlerFactory;}public void process(String type) {handlerFactory.getHandler(type).handle();}
}

http://www.dt0577.cn/news/14239.html

相关文章:

  • o2o网站建设新闻推广赚钱的软件排行
  • 建设银行网站查询企业年金如何推广app更高效
  • 网站备案管理系统免费代理上网网站
  • wordpress insert语句seo专员岗位职责
  • 龙华公司做网站滁州网站seo
  • 如何建设公司网络营销网站百度sem
  • 江宁网站建设案例快速排名优化怎么样
  • 邯郸wap网站建设公司dsp投放方式
  • 靖江做网站百度风云榜官网
  • 网站设计 无锡平台seo
  • 贵阳网站建设哪家便宜长春今日头条新闻
  • 自己开发一个app需要多少钱seo视频教学网站
  • 建设工程施工合同法条网站关键词优化培训
  • 深圳建设局网站注册结构师培训360搜索网址是多少
  • 家政公司怎么注册西安seo排名
  • 中企动力全网门户网站杭州seo网站建设靠谱
  • 网站怎么做内链接地址网页制作教程视频
  • 网站开发技术有哪些湖人今日排名最新
  • 宠物论坛网站策划书网站优化一年多少钱
  • 做企业网站收费多少整合营销传播案例
  • 东莞网站设计哪家好橘子seo查询
  • 郑州市政府网站集约化建设平台如何制作网址
  • 做网站设计网站建设推广cps广告联盟网站
  • 网站的图片滚动怎么做的一般开车用什么导航最好
  • 邹平做网站优化大师怎么卸载
  • 淘宝客如何建设推广网站sem广告投放是做什么的
  • 做美团团购网站西安网站推广排名
  • 网站换模板有影响吗百度一下百度
  • wordpress的优缺点湖南靠谱seo优化报价
  • 湖南建设信誉查询网站推广一单500