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

uugaicomlogo免费设计网站回收手表的网站

uugaicomlogo免费设计网站,回收手表的网站,王也踏青图照片,免费企业管理培训课程视频实现一个简单的文本处理系统。 在这个系统中,我们将定义不同类型的文本处理策略,比如大小写转换、添加前缀后缀等,并使用工厂模式来管理这些策略。 1 定义一个枚举来标识不同的文本处理类型 public enum TextProcessTypeEnum {UPPER_CASE,LO…

实现一个简单的文本处理系统。
在这个系统中,我们将定义不同类型的文本处理策略,比如大小写转换、添加前缀后缀等,并使用工厂模式来管理这些策略。

1 定义一个枚举来标识不同的文本处理类型

public enum TextProcessTypeEnum {UPPER_CASE,LOWER_CASE,PREFIX_SUFFIX// 可以继续添加更多的文本处理类型
}


2 定义一个策略接口,所有的文本处理策略都将实现这个接口

public interface TextProcessHandler {public String process(String txt);public TextProcessTypeEnum getHandlerType();
}


3 实现几个具体的策略类

import org.springframework.stereotype.Service;@Service
public class UpperCaseHandler implements TextProcessHandler {@Overridepublic String process(String txt) {return txt.toUpperCase();}@Overridepublic TextProcessTypeEnum getHandlerType() {return TextProcessTypeEnum.UPPER_CASE;}
}@Service
public class LowerCaseHandler implements TextProcessHandler {@Overridepublic String process(String txt) {return txt.toLowerCase();}@Overridepublic TextProcessTypeEnum getHandlerType() {return TextProcessTypeEnum.LOWER_CASE;}
}@Service
@NoArgsConstructor
public class PrefixSuffixHandler implements TextProcessHandler {@Value("start--")private String prefix;@Value("--end")private String suffix;public PrefixSuffixHandler(String prefix, String suffix) {this.prefix = prefix;this.suffix = suffix;}@Overridepublic String process(String txt) {return prefix +txt+ suffix;}@Overridepublic TextProcessTypeEnum getHandlerType() {return TextProcessTypeEnum.PREFIX_SUFFIX;}
}


4 创建一个工厂类来管理这些策略

import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@Component
public class TextProcessHandlerFactory implements InitializingBean {@Autowiredprivate List<TextProcessHandler> textProcessHandlerList;private final Map<TextProcessTypeEnum, TextProcessHandler> handlerMap =new HashMap<>();@Overridepublic void afterPropertiesSet() throws Exception {System.out.println("textProcessHandlerList = " + textProcessHandlerList);for (TextProcessHandler handler : textProcessHandlerList) {handlerMap.put(handler.getHandlerType(), handler);}System.out.println("handlerMap = " + handlerMap);}public TextProcessHandler getHandler(TextProcessTypeEnum typeEnum){return handlerMap.get(typeEnum);}
}


5 使用这个工厂来获取相应的处理器,并处理文本

@SpringBootTest
class DemoMvnTest1ApplicationTests {@Autowiredprivate TextProcessHandlerFactory factory;@Testvoid contextLoads() {TextProcessHandler handler = factory.getHandler(TextProcessTypeEnum.UPPER_CASE);System.out.println(handler.process("hello world"));System.out.println();handler = factory.getHandler(TextProcessTypeEnum.LOWER_CASE);System.out.println(handler.process("HELLO WORLD"));System.out.println();handler = factory.getHandler(TextProcessTypeEnum.PREFIX_SUFFIX);System.out.println(handler.process("hello world"));}}

http://www.yayakq.cn/news/286256/

相关文章:

  • dede 更新网站地图网站开发从入门到实战
  • 石狮建设银行网站网络营销的多种形式和特点
  • 廊坊建设企业网站出国游做的好的网站
  • 网站首页做跳转苏州市网站建设培训
  • 做海报的网站什么编辑器4399小游戏网页版在线玩
  • 义乌商城网站开发番禺网站优化平台
  • 微信企业网站模板公司网站建设应注意
  • 西安企业网站设计机构wordpress数据库分离
  • 代做毕设网站推荐成都官方网站建设
  • 专业做鞋子的网站吗哪个网站做视频赚钱
  • 建设网站为什么要备案网站架构设计的意义
  • 网站开发技术文档百度云官网登录入口
  • asp.net网站开发案例竹溪网站建设
  • 免费做app的网站购物网站建设包括哪些
  • 四川城乡住房和城乡建设厅网站首页杭州做网站的企业
  • 提供网站建设和制作信息服务平台是什么
  • 建设银行网站适用浏览器网站开发培训机构需要多少钱
  • 网站开发可以申请著作权吗html简单网页代码下载
  • 网站托管的好处网页设计搭建网站
  • 招聘公司怎么做网站免费行情软件网站大全下载
  • php开源网站管理系统申请好域名后 怎么做网站
  • 深圳宝安区医院大连seo排名扣费
  • 网站建设自查及整改报告湖南人文科技学院继续教育学院
  • 邯郸百度网站建设怎样做网站上的语种链接
  • 购物网站的设计与实现论文wordpress数据源
  • 关于做数学 平方差公式的网站wordpress 七牛裁剪
  • 沭阳住房城乡建设局网站网站建设地图素材
  • 巩义网站建设国家工商企业注册查询系统官网
  • 天猫商城网站风格德州宁津建设局网站
  • 皮革材料做网站昆明网站建设公司小程序