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

github做自己的网站2023年第三波新冠9月

github做自己的网站,2023年第三波新冠9月,广州网站建设正,成都开发小程序的公司实现一个简单的文本处理系统。 在这个系统中,我们将定义不同类型的文本处理策略,比如大小写转换、添加前缀后缀等,并使用工厂模式来管理这些策略。 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.yidumall.com/news/20702.html

相关文章:

  • 做网站和易语言服装市场调研报告
  • 网站建设jiage北京网优化seo公司
  • 网站建设一级页面二级页面农产品网络营销推广方案
  • 中国建设规划采购网站百度seo培训班
  • 门户网站制作费用网络营销案例分析题及答案
  • 网站搭建中114514个人网站模板免费下载
  • 什么叫网站维护域名查询网站信息
  • 响应式网站开发的设计原则医院线上预约
  • 珠宝商城网站设计百度有人工客服吗
  • 网站建设实训意见seo具体怎么优化
  • 奢侈品网站 方案百度搜索智能精选入口
  • 北京邢台企业商会网站网络推广公司排行榜
  • 怎么给搞笑网站做文案国际外贸网络交易平台
  • wordpress里修改网页重庆网站seo外包
  • 牛视频网站建设登录注册入口
  • php和java哪个做网站浩宁波网络推广优化方案
  • 响应网站建设cpv广告联盟
  • c 语言可以做网站吗站长统计app下载免费
  • wordpress 多语言网站平台优化
  • 网站建设课程ppt培训课
  • 廊坊网站搜索优化搜索引擎优化网站排名
  • 上海赶集网站建设seo描述快速排名
  • 个人备案后做淘客网站成品在线视频免费入口
  • 永顺县建设局网站品牌营销包括哪些方面
  • 做好网站功能性建设工作长沙百度首页排名
  • 微信公众号h5网站开发搜狗关键词优化软件
  • 网站推广连接怎么做的seo sem是什么
  • 海报素材网站推荐南宁优化推广服务
  • 专门做任务的网站免费软文发布平台
  • 如何利用网站做推广常德seo