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

商用网站开发计划书正规seo多少钱

商用网站开发计划书,正规seo多少钱,谷歌seo搜索引擎优化,校园网站怎么建设JAVA设计模式——(九)工厂模式 介绍理解实现ProductFactory测试泛型扩展 应用 介绍 定义一个工厂类的接口,帮助一个实际对象 创建实例,并让其工厂类的子类决定实例化哪个类。 理解 工厂模式中,必定分为了两部分&…

JAVA设计模式——(九)工厂模式

  • 介绍
  • 理解
  • 实现
    • Product
    • Factory
    • 测试
    • 泛型扩展
  • 应用

介绍

定义一个工厂类的接口,帮助一个实际对象 创建实例,并让其工厂类的子类决定实例化哪个类。

理解

工厂模式中,必定分为了两部分,一部分是被工厂模式实例化的对象(Product),一部分是工厂模式的接口(Factory)。

这里主要需要注意的是一个对象,工厂类只负责一个对象的创建

实现

Product

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 10:41* @Contact 643947568@qq.com*/
public interface Product {public void product();
}

实现类:

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 10:41* @Contact 643947568@qq.com*/
public class ActualProduct implements Product {@Overridepublic void product() {System.out.println("生产具体的产品");}
}

Factory

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 10:42* @Contact 643947568@qq.com*/
public interface Factory {public Product factory();}

工厂子类:

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 10:42* @Contact 643947568@qq.com*/
public class ActualFactory implements Factory {@Overridepublic Product factory() {return new ActualProduct();}
}

测试

package cn.sh.designepattern.example01;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 10:18* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {ActualFactory actualFactory = new ActualFactory();Product factory = actualFactory.factory();factory.product();}
}

泛型扩展

采用泛型的工厂类

package cn.sh.designepattern.example02;import java.lang.reflect.InvocationTargetException;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:22* @Contact 643947568@qq.com*/
public interface Factory {public <T> T factory(Class<T> t) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException;
}
package cn.sh.designepattern.example02;import java.lang.reflect.InvocationTargetException;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:27* @Contact 643947568@qq.com*/
public class ActualFactory implements Factory {@Overridepublic <T> T factory(Class<T> t) throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {return t.getDeclaredConstructor().newInstance();}
}

具体类1:

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:24* @Contact 643947568@qq.com*/
public interface Product01 {public void product01();}
package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:24* @Contact 643947568@qq.com*/
public class ActualProductO1 implements Product01{@Overridepublic void product01() {System.out.println("生产01");}
}

具体类2:

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:24* @Contact 643947568@qq.com*/
public interface Product02 {public void product02();}
package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:24* @Contact 643947568@qq.com*/
public class ActualProductO2 implements Product02 {@Overridepublic void product02() {System.out.println("生产02");}
}

测试:

package cn.sh.designepattern.example02;import java.lang.reflect.InvocationTargetException;/*** @Author song* @Version 0.0.1* @Date 2025/4/29 11:28* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {ActualFactory actualFactory = new ActualFactory();ActualProductO1 productO1 = actualFactory.factory(ActualProductO1.class);productO1.product01();ActualProductO2 productO2 = actualFactory.factory(ActualProductO2.class);productO2.product02();}
}

应用

上述的工厂模式是一个简单的工厂模式,每次需要对具体类均创建一个工厂类,所以适用性单一。当然也有采用泛型的工厂方法,能够适用较多的场景。

可用于对对象的封装,降低模块的耦合度,因为不需要知道具体类的实现细节,即使具体类的实现改变,也只需要修改具体的工厂类方法,所以有较好的扩展性


文章转载自:

http://p7qpMfyf.skscy.cn
http://1q1K8AvX.skscy.cn
http://pS7j0Rfs.skscy.cn
http://s3Cululp.skscy.cn
http://vM6hnwFj.skscy.cn
http://QZQYEIj5.skscy.cn
http://J2VHK8n6.skscy.cn
http://QYJZjzzn.skscy.cn
http://PubVS55R.skscy.cn
http://0zRY5dNU.skscy.cn
http://qeNbiFPV.skscy.cn
http://QIfkRXJv.skscy.cn
http://xV4E4SIu.skscy.cn
http://oA3Aw68S.skscy.cn
http://tLb1S9k8.skscy.cn
http://9c4Z2Hr1.skscy.cn
http://AMUohOgo.skscy.cn
http://eWcVvf0m.skscy.cn
http://yHUPuSAu.skscy.cn
http://ve8CNlGf.skscy.cn
http://VqLxSkeL.skscy.cn
http://pt5wJhGN.skscy.cn
http://1tlZeHcK.skscy.cn
http://MXRA4mHx.skscy.cn
http://rUovQFSh.skscy.cn
http://yZ0uv9KO.skscy.cn
http://sYx06PNG.skscy.cn
http://5WoSlSgs.skscy.cn
http://QOocyLdj.skscy.cn
http://02l8VL6a.skscy.cn
http://www.dtcms.com/wzjs/640677.html

相关文章:

  • 献县网站建设公司王也天演过的电视剧
  • 湘潭做网站价格咨询磐石网络从零开始建网站
  • 淘宝联盟自己做网站php网站权限设置
  • 东莞做网站 南城信科wordpress接入官方号
  • 视频网站 wordpress主题自己公司内网网站和外网怎么做同步
  • 网站怎么做图片动态图片不显示不出来的做网站应该了解什么软件
  • 腾讯专门做数据标注的网站是珠海网站建设优化推广
  • 设计师网站源码seo是如何优化
  • 网站跳出率多少合适选择郑州网站建设
  • 网站设计公司 推荐阿里云建设wordpress
  • 网站开发项目标书外贸经济平台代销到哪里买
  • 网站设置方案行业网站建设蓝云
  • 网站地图提交西安知名网络推广公司
  • wordpress电影站模版安卓开发平台
  • 网站seo关键词排名推广免费的域名解析
  • 珠海建站软件抖音推广怎么收费
  • 好发信息网-网站建设室内设计公司经营范围
  • 网站功能模块有哪些做英文网站可以申请补贴吗
  • 大通证券手机版下载官方网站下载wordpress插件图片无法加载
  • wordpress 内外网太原网站推广优化
  • 境外网址appseo品牌
  • 昆山网站建设苦瓜网络昭通网站建设兼职
  • 关于网站建设实验报告徐州模板建站定制网站
  • 成都网站建设 四川冠辰类似freenom的免费域名网站
  • 如何自己做直播网站天津网站建设班
  • 深圳网站建设网络推广公司凌风 wordpress 大学
  • 网站建设后端wordpress生成app
  • 品牌网站设计标准建网站要钱吗 优帮云
  • 免费网站seo排名优化wordpress 微信 推送
  • 保定模板建站平台WordPress主题VR插件