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

做服饰的有哪些网站长沙优化科技有限公司

做服饰的有哪些网站,长沙优化科技有限公司,网页界面设计图,展厅设计公司选四度科技简单讲述业务需求 业务需要根据不同的类型返回不同的用户列表,比如按角色查询用户列表、按机构查询用户列表,用户信息需要从数据库中查询,因为不同的类型查询的逻辑不相同,因此简单用工厂模式来设计一下; 首先新建一个…

简单讲述业务需求

业务需要根据不同的类型返回不同的用户列表,比如按角色查询用户列表、按机构查询用户列表,用户信息需要从数据库中查询,因为不同的类型查询的逻辑不相同,因此简单用工厂模式来设计一下;

首先新建一个返回用户列表的接口

/*** 定义一个返回的用户列表接口* @author sinder* @date 2024/5/7 22:15*/
public interface ReturnUser {List<String> getUserByType();
}

再分别新建返回机构用户列表和角色用户列表的实现类

这里简化一下,执行的sql操作是测试表的,返回的数据固定的;

/*** @author sinder* @date 2024/5/7 22:29*/
@Component
public class OrgUserImpl implements ReturnUser {@Autowiredprivate TbTestMapper tbTestMapper;/*** 返回按机构返回的用户* @return*/@Overridepublic List<String> getUserByType() {System.out.println("按机构返回用户列表");ArrayList<String> list = new ArrayList<>();list.add("org1");list.add("org2");list.add("org3");List<TbTest> tbTests = tbTestMapper.getList();System.out.println(tbTests);return list;}
}
/*** 用户工厂实现类* @author sinder* @date 2024/5/7 22:14*/
@Component
public class RoleUserImpl implements ReturnUser {@Autowiredprivate TbTestMapper tbTestMapper;/*** 按角色用户返回* @return*/@Overridepublic List<String> getUserByType() {System.out.println("按角色返回用户列表");ArrayList<String> list = new ArrayList<>();list.add("role1");list.add("role2");list.add("role3");List<TbTest> tbTests = tbTestMapper.getList();System.out.println(tbTests);return list;}
}

然后新建一个工厂类

/*** 返回用户工厂* @author sinder* @date 2024/5/7 22:31*/
@Component
public class ReturnUserFactory {@Autowiredprivate RoleUserImpl roleUser;@Autowiredprivate OrgUserImpl orgUser;public ReturnUser getUserList(String module) {switch (UserType.customValueOf(module)) {case ROLE:return roleUser;case ORG:return orgUser;default:return null;}}
}

这里用到了枚举,并重写了valueOf(),以下:

/*** @author sinder* @date 2024/5/7 22:33*/
public enum UserType {ORG("org"),ROLE("role");private final String name;UserType(String name) {this.name = name;}// 重写valueOf方法public static UserType customValueOf(String text) {for (UserType userType : UserType.values()) {if (userType.name.equalsIgnoreCase(text)) {return userType;}}throw new IllegalArgumentException("No constant with name " + text + " found");}}

测试

@Testpublic void testReturnUser() {List<String> orgList = returnUserFactory.getUserList("org").getUserByType();List<String> roleList = returnUserFactory.getUserList("role").getUserByType();System.out.println(orgList);System.out.println(roleList);}


简单应用一下设计模式,具体关于工厂模式和单例模式的介绍和使用可以看以下详细博客说明

(超详细)JAVA设计模式:单例模式和工厂模式


简单记录,有更好的想法可以评论区指导一波!!!

http://www.15wanjia.com/news/13960.html

相关文章:

  • 2017年政府网站建设张掖seo
  • 做网站步骤正规网络推广服务
  • 东莞个人网站制作百度推广多少钱一个月
  • 宁波网站制作工具石家庄seo关键词排名
  • 中国建筑网信息查询关键词智能优化排名
  • 如何做网站实现收入稳定河北网站推广
  • 有做微推客的网站吗军事新闻头条最新消息
  • 淘宝网站建设可靠长春网站优化咨询
  • 网站建设工作经历东莞免费建站公司
  • 内销机械做哪个网站好网上全网推广
  • 枣庄网站建设网络营销推广的总结
  • 服务好的南昌网站设计百度网页版下载
  • linux下做网站seo网站优化方法
  • 网站管理功能图北京网站推广机构
  • 网站做404360收录提交入口网址
  • 做微网站那pc端显示啥网站优化推广
  • 东莞便宜做网站百度app下载并安装最新版
  • 做网站要实名吗独立站seo怎么做
  • 电商网站运营步骤网络热词2023流行语及解释
  • 济南浩特元辰建设工程有限公司网站百度竞价推广开户联系方式
  • 安卓手机如何做网站营销策划36计
  • 做网站的得花多钱设计模板网站
  • 个人做网站平台百度关键词挖掘
  • 学校网站 制作什么是竞价
  • 毕业设计用java做网站巧克力软文范例200字
  • 丽水专业网站制作公司seo与sem的区别和联系
  • 蓝色企业网站手机版织梦模板杭州龙席网络seo
  • 网站有后台更新不了国内搜索引擎排行榜
  • 数据管理系统网站模板群排名优化软件
  • 怎样做图片链接到网站产品市场调研怎么做