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

平台建网站wordpress 平台

平台建网站,wordpress 平台,太原网站优化技术,韩国手表网站前言 在此前的设计模式#xff08;四#xff09;简单工厂模式中我们介绍了简单工厂模式#xff0c;在这篇文章中我们来介绍下工厂方法模式#xff0c;它同样是创建型设计模式#xff0c;而且又有些类似#xff0c;文章的末尾会介绍他们之间的不同。 1.工厂方法模式简介 …前言 在此前的设计模式四简单工厂模式中我们介绍了简单工厂模式在这篇文章中我们来介绍下工厂方法模式它同样是创建型设计模式而且又有些类似文章的末尾会介绍他们之间的不同。 1.工厂方法模式简介 工厂方法模式定义 定义一个用于创建对象的接口让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法模式UML图 找了下网上的UML图都画的丑丑的自己画吧结果就出来这么一个更丑的UML图 Product抽象产品类。ConcreteProduct具体产品类实现Product接口。Factory抽象工厂类该方法返回一个Product类型的对象。ConcreteFactory具体工厂类返回ConcreteProduct实例。 2.工厂方法模式简单实现 参考设计模式四简单工厂模式这篇文章我接着举电脑生产的例子。 创建抽象产品 电脑产品类它有一个start方法用于启动电脑 public abstract class Computer{public abstract void start(); } 创建具体产品 具体的电脑产品分别是联想、惠普和华硕电脑 public class LenovoComputer extends Computer {Overridepublic void start() {System.out.println(联想电脑启动);} }public class HpComputer extends Computer {Overridepublic void start() {System.out.println(惠普电脑启动);} } public class AsusComputer extends Computer{Overridepublic void start() {System.out.println(华硕电脑启动);} }创建抽象工厂 里面有一个createComputer方法想生产哪个品牌的电脑就生产那个 public abstract class ComputerFactory {public abstract T extends Computer T createComputer(ClassT clz); }具体工厂 广达代工厂是一个具体的工厂他继承抽象工厂通过反射来生产不同厂家的电脑 /*** 广达代工厂*/ public class GDComputerFactor extends ComputerFactory {Overridepublic T extends Computer T createComputer(ClassT clz) {Computer computernull;String classnameclz.getName();try {//通过反射来生产不同厂家的电脑computer (Computer) Class.forName(classname).newInstance();} catch (Exception e) {e.printStackTrace();}return (T) computer;} }客户端调用 public class Client {public static void main(String[]args) {ComputerFactory computerFactory new GDComputerFactor();LenovoComputer mLenovoComputercomputerFactory.createComputer(LenovoComputer.class);mLenovoComputer.start();HpComputer mHpComputercomputerFactory.createComputer(HpComputer.class);mHpComputer.start();AsusComputer mAsusComputerrcomputerFactory.createComputer(AsusComputer.class);mAsusComputerr.start();} } 结构很简单看看下面的UML图就更加容易理解了 3.工厂方法与简单工厂 简单工厂模式我们都知道在工厂类中包含了必要的逻辑判断根据不同的条件来动态实例化相关的类对客户端来说去除了与具体产品的依赖与此同时也会带来一个问题如果我们去增加产品比如我们要生产苹果电脑那我们就需要在工厂类中在添加一个Case分支条件这违背了开放封闭原则我们对修改也开放了不理解开放封闭的原则的同学可以查看设计模式一设计六大原则 这篇文章。而工厂方法模式就没有违背这个开放封闭原则如果我们需要生产苹果电脑并不需要去修改工厂类直接创建产品就好了。
http://www.w-s-a.com/news/29095/

相关文章:

  • 网站设计建议建设商务网站作用
  • 网站策划的最终体现是什么模板网站建设流程图
  • 网站设计与开发技术教程十度公司做网站怎么样
  • 企业网站推广方案在哪里智慧团建登录入口官网手机版
  • google网页版入口seo索引擎优化
  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作
  • 做网站要准备的需求asp 网站后台
  • 滨州网站开发公司中立建设集团有限公司网站
  • 泰安建设厅网站做网站为什么要建站点
  • 有什么好的手机推荐网站创建网站需要哪些工作
  • 网站能给企业带来什么上饶市网站建设公司
  • 学做网站卖东西去哪学南宁网站建设gxjzdrj
  • 欧美网站建设案例网站开发 男生
  • 网站正在开发中做电子元器件的网站
  • 做网站搭建的公司中国建设银行官网站u盾证书