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

重庆网站建设选卓光百度推广登录账号首页

重庆网站建设选卓光,百度推广登录账号首页,网站建设小组实验报告,企业推广类网站《重学Java设计模式》之 建造者模式 《重学Java设计模式》之 原型模式 《重学Java设计模式》之 单例模式 模拟发奖多种商品 工程结构 奖品发放接口 package com.yys.mes.design.factory.store;public interface ICommodity {/*** Author Sherry* Date 14:20 2024/11/6**/voi…

《重学Java设计模式》之 建造者模式

《重学Java设计模式》之 原型模式

《重学Java设计模式》之 单例模式

模拟发奖多种商品

工程结构

奖品发放接口

package com.yys.mes.design.factory.store;public interface ICommodity {/*** @Author Sherry* @Date 14:20 2024/11/6**/void sendCommodity(String uId, String commodityId, String bizId);
}

购物卡发放实现类

package com.yys.mes.design.factory.store.impl;import com.yys.mes.design.factory.store.ICommodity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;@Service
@Slf4j
public class CardCommodityService implements ICommodity {@Overridepublic void sendCommodity(String uId, String commodityId, String bizId) {//购物卡log.info("购物卡发放成功!");}
}

优惠券发放实现类

package com.yys.mes.design.factory.store.impl;import com.yys.mes.design.factory.store.ICommodity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;import java.util.Map;@Service
@Slf4j
public class CouponCommodityService implements ICommodity {@Overridepublic void sendCommodity(String uId, String commodityId, String bizId) {//优惠券发放log.info("优惠券发放成功!");}
}

实物发放实现类

package com.yys.mes.design.factory.store.impl;import com.yys.mes.design.factory.store.ICommodity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;@Service
@Slf4j
public class GoodsCommodityService implements ICommodity {@Overridepublic void sendCommodity(String uId, String commodityId, String bizId) {//实物商品log.info("实物商品发放成功!");}
}

奖品类型工厂

通过 Map<String, ICommodity> 来存储所有的实现类。Spring 会自动将所有实现了 ICommodity 接口的 Bean 注入到这个 Map 中。我们可以通过传入类型(例如 "card")来获取对应的实现类。

package com.yys.mes.design.factory.config;import com.yys.mes.design.factory.store.ICommodity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.Map;@Component
public class CommodityFactory {private final Map<String, ICommodity> commodityServices;@Autowiredpublic CommodityFactory(Map<String, ICommodity> commodityServices) {this.commodityServices = commodityServices;}// 根据类型返回对应的ICommodity实现public ICommodity getCommodityService(String type) {ICommodity commodityService = commodityServices.get(type + "CommodityService");if (commodityService == null) {throw new IllegalArgumentException("未知的奖品类型: " + type);}return commodityService;}
}

调用工厂

package com.yys.mes.design.factory.config;import com.yys.mes.design.factory.store.ICommodity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;@Component
public class StoreFactory {private final CommodityFactory commodityFactory;@Autowiredpublic StoreFactory(CommodityFactory commodityFactory) {this.commodityFactory = commodityFactory;}public void distributeCommodity(String type, String uId, String commodityId, String bizId) {// 通过工厂获取对应的ICommodity实现ICommodity commodityService = commodityFactory.getCommodityService(type);commodityService.sendCommodity(uId, commodityId, bizId);}
}

测试验证

package com.yys.mes.design.factory.Controller;import com.yys.mes.design.factory.config.StoreFactory;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/send")
public class ExampleController {@Resourceprivate StoreFactory storeFactory;@GetMapping("/distribute")public String distributeCommodity(@RequestParam String type, @RequestParam String uId,@RequestParam String commodityId, @RequestParam String bizId) {storeFactory.distributeCommodity(type, uId, commodityId, bizId);return "奖品发放成功!";}
}

http://www.ds6.com.cn/news/37964.html

相关文章:

  • 如何用excel来做网站后台桂林seo
  • 做网站的滚动字幕怎么制作推广策略都有哪些
  • 蓬莱做网站那家好现在有哪些推广平台
  • 东莞企业做网站利尔化学股票最新消息
  • 网站app制作费用单线上营销策划方案
  • 免费的软件下载大全安装站长之家seo工具包
  • 黄山企业网站建设靠谱网络营销渠道有哪些
  • 做网站哪个系统最好互联网营销平台
  • 第三方做公司网站百度词条优化
  • c2c的网站有哪些必应搜索引擎下载
  • 免费网址大全免费观看3分钟搞定网站seo优化外链建设
  • 企业网站怎么做两种语言好搜网惠州seo
  • 网站不备案不能访问小说搜索风云榜排名
  • wordpress有多少网站小程序开发公司哪里强
  • 上海市中学生典型事例网站想学手艺在哪里可以培训
  • 网站建设哪家好知道万维科技北京百度科技有限公司电话
  • 安平网站建设网页制作模板的网站
  • 做电商网站都需要学什么软件西安网站外包
  • swoole 网站开发网站宣传的方法有哪些
  • 政府网站开发教程小说排行榜
  • 专门做羽毛球的网站超级优化大师
  • 黄冈公司网站推广软件首选如何推广新产品的方法
  • 求一个网站站长之家seo查询官方网站
  • 企业画册尺寸一般多大成都网站seo费用
  • 太原建设银行网站网站的seo 如何优化
  • 自己建立公司网站 怎样做cms建站
  • 阿里云域名申请注册seo网页推广
  • 做网站需要学什么专业做百度推广
  • 网站开发好找工作吗seo网上培训
  • 武汉做医疗器械公司网站的百度pc端首页