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

计算机应用技术网站建设图片做旧网站

计算机应用技术网站建设,图片做旧网站,快速搭建房屋,龙岗外贸网站制作韩敬海 设计模式#xff08;Java版#xff09; #xff08;一#xff09;定义 定义一个创建对象的接口#xff0c;让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法涉及的角色有#xff1a; 1 .抽象工厂角色#xff1a;工厂方法模式的核心Java版 一定义 定义一个创建对象的接口让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法涉及的角色有 1 .抽象工厂角色工厂方法模式的核心与应用系统无关任何创建对象的工厂类必须实现这个接口。 2. 具体工厂角色实现了抽象工厂接口被应用程序调用以创建产品对象。 3. 抽象产品角色定义产品的共性实现对产品抽象的定义。 4. 具体产品角色实现抽象产品角色所声明的接口。 二类图 二代码实现 1. 抽象工厂角色 package com.xiaobai.design_pattern.factorymethod.createrole;import com.xiaobai.design_pattern.factorymethod.productrole.Cake;/*** author wangtw* ClassName Creator* description: 抽象工厂角色* date 2023/8/622:10*/ public interface Creator {Cake factory(); } 2. 抽象产品角色 package com.xiaobai.design_pattern.factorymethod.productrole;/*** author wangtw* ClassName Product* description: 抽象产品角色* date 2023/8/622:16*/ public interface Cake {/*** 获取蛋糕类型*/void make(); } 3. 具体工厂角色 1苹果蛋糕生成工厂 package com.xiaobai.design_pattern.factorymethod.createrole;import com.xiaobai.design_pattern.factorymethod.productrole.AppleCake; import com.xiaobai.design_pattern.factorymethod.productrole.Cake;/*** author wangtw* ClassName AppleCakeCrator* description: 苹果蛋糕生成工厂具体工厂角色* date 2023/8/708:23*/ public class AppleCakeCreator implements Creator{Overridepublic Cake factory() {return new AppleCake();} } 2草莓蛋糕生成工厂 package com.xiaobai.design_pattern.factorymethod.createrole;import com.xiaobai.design_pattern.factorymethod.productrole.Cake; import com.xiaobai.design_pattern.factorymethod.productrole.StrawberryCake;/*** author wangtw* ClassName StrawberryCakeCrator* description: 草莓蛋糕生成工厂具体工厂角色* date 2023/8/708:24*/ public class StrawberryCakeCreator implements Creator{Overridepublic Cake factory() {return new StrawberryCake();} } 4. 具体产品角色 1苹果蛋糕 package com.xiaobai.design_pattern.factorymethod.productrole;import lombok.extern.slf4j.Slf4j;/*** author wangtw* ClassName AppleCake* description: 苹果蛋糕具体产品角色* date 2023/8/707:56*/ Slf4j public class AppleCake implements Cake{Overridepublic void make() { log.info(正在制作苹果蛋糕);} }2草莓蛋糕 package com.xiaobai.design_pattern.factorymethod.productrole;import lombok.extern.slf4j.Slf4j;/*** author wangtw* ClassName StrawberryCakeProduct* description: 草莓蛋糕具体产品角色* date 2023/8/622:34*/ Slf4j public class StrawberryCake implements Cake {Overridepublic void make() {log.info(正在制作草莓蛋糕);} }5. 测试 package com.xiaobai.design_pattern.factorymethod;import com.xiaobai.design_pattern.factorymethod.createrole.AppleCakeCreator; import com.xiaobai.design_pattern.factorymethod.createrole.Creator; import com.xiaobai.design_pattern.factorymethod.createrole.StrawberryCakeCreator; import com.xiaobai.design_pattern.factorymethod.productrole.AppleCake; import com.xiaobai.design_pattern.factorymethod.productrole.Cake; import org.junit.jupiter.api.Test;/*** author wangtw* ClassName FactoryMethodTest* description: 工厂方法模式测试类* date 2023/8/622:36*/ public class FactoryMethodTest {Testpublic void test() {// 草莓蛋糕生成Creator creator1 new StrawberryCakeCreator();Cake strawberryCake creator1.factory();strawberryCake.make();// 苹果蛋糕生成Creator creator2 new AppleCakeCreator();Cake appleCake creator2.factory();appleCake.make();} }输出 22:58:45.924 [main] INFO com.xiaobai.design_pattern.factorymethod.productrole.StrawberryCake - 正在制作草莓蛋糕 22:58:45.929 [main] INFO com.xiaobai.design_pattern.factorymethod.productrole.AppleCake - 正在制作苹果蛋糕 三总结 1. 工厂方法模式优点 1提高扩展性在增加产品类的情况下只要适当调整具体的工厂类或扩展一个工厂类就可以适应变化。 2调用者不需要关心产品的具体实现只需要关注产品的接口是否发生变化因为产品的实例化是由工厂负责的。 3解耦高层模块只需要知道产品的抽象类不需要关注产品的实现类符合迪米特法则、依赖倒置原则、里氏替换原则。
http://wiki.neutronadmin.com/news/241555/

相关文章:

  • 中国建设银行租赁网站dede网站后台
  • 注册越南网站vn30岁学前端开发是不是晚了
  • 做逆战网站的名字网络营销平台名词解释
  • 如何修改网站后台代码空间除了可以做网站还能干什么
  • 游戏网站模seo系统培训班
  • 公司网站上传图库可以做国外购物的网站有哪些
  • 做网站卖网站表单制作
  • 网站建设行业前景如何wordpress 文章 js
  • 建网站可以用企业qq吗网站建设费可以抵扣吗
  • 100款禁用网站用html做网站
  • 免费建站哪里找青岛移动公司网站
  • 主机屋 大网站怎么做微信网站
  • 西安建站费用免费推广网址大全
  • 机关网站内容建设工作总结新农村建设专题网站
  • 网站建设和开发杭州老牌的网站建设
  • 金山集团网站建设百度网址注册
  • 保定专业做网站的公司c 可以做网站吗
  • 什么叫网站app小程序代理商在哪儿
  • 网站建设的目标定义哪里做外贸网站
  • 做网站的首页下拉列表网站主机域名
  • 8个公开大数据网站简述建设iis网站的基本过程6
  • 个人网站制作wordpress苏州门户网站
  • 网站的建设包括那几个模块深圳都信建设监理有限公司网站
  • 东莞营销型网站设计自己做视频网站怎么处理高并发
  • 网站开发中应注意哪些问题网站备案负责人
  • 论坛网站建设模板百度收录需要多久
  • 常德网站公司网站建设开发制作设计海南
  • 掉关键词网站wordpress插件支付宝积分
  • 白沙网站建设的目标华为企业管理软件
  • 苏州网站制作开发公司wordpress 上传大小