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

想给公司做网站中企动力靠谱吗品牌推广软文案例

想给公司做网站中企动力靠谱吗,品牌推广软文案例,网站建设中 意思,营销网站建设维护前言 在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。 1.工厂方法模式简介 …

前言

在此前的设计模式(四)简单工厂模式中我们介绍了简单工厂模式,在这篇文章中我们来介绍下工厂方法模式,它同样是创建型设计模式,而且又有些类似,文章的末尾会介绍他们之间的不同。

1.工厂方法模式简介

工厂方法模式定义

定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。

工厂方法模式UML图

找了下网上的UML图,都画的丑丑的,自己画吧,结果就出来这么一个更丑的UML图:

Vl4ZnO.png

  • 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(Class<T> clz);
}

具体工厂

广达代工厂是一个具体的工厂,他继承抽象工厂,通过反射来生产不同厂家的电脑:

/*** 广达代工厂*/
public class GDComputerFactor extends ComputerFactory {@Overridepublic <T extends Computer> T createComputer(Class<T> clz) {Computer computer=null;String classname=clz.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 mLenovoComputer=computerFactory.createComputer(LenovoComputer.class);mLenovoComputer.start();HpComputer mHpComputer=computerFactory.createComputer(HpComputer.class);mHpComputer.start();AsusComputer mAsusComputerr=computerFactory.createComputer(AsusComputer.class);mAsusComputerr.start();}
}

结构很简单,看看下面的UML图就更加容易理解了:

Vl4eBD.jpg

3.工厂方法与简单工厂

简单工厂模式我们都知道,在工厂类中包含了必要的逻辑判断,根据不同的条件来动态实例化相关的类,对客户端来说,去除了与具体产品的依赖,与此同时也会带来一个问题:如果我们去增加产品,比如我们要生产苹果电脑,那我们就需要在工厂类中在添加一个Case分支条件,这违背了开放封闭原则,我们对修改也开放了,不理解开放封闭的原则的同学可以查看设计模式(一)设计六大原则 这篇文章。而工厂方法模式就没有违背这个开放封闭原则,如果我们需要生产苹果电脑,并不需要去修改工厂类,直接创建产品就好了。

http://www.tj-hxxt.cn/news/20468.html

相关文章:

  • 微信网站制作系统百度旗下所有app列表
  • 专门做网站搜索优化的公司广州百度
  • 个性化定制软件seo 怎么做到百度首页
  • 网站备案负责人修改怎么给自己的公司建立网站
  • 乌鲁木齐网站设计平台新闻营销发稿平台
  • mac 怎么安装字体 wordpressseo公司上海牛巨微
  • 十大营销网站厦门搜索引擎优化
  • 个人网站必须备案广告联盟app下载
  • 企业网站报价模板公司网站推广方法
  • wap网站 教程网站设计方案
  • 网站图片上传功能怎么做的seo排名哪家有名
  • 外销网站建立百度排名怎么做
  • 石家庄网站制作百度seo公司一路火
  • 柳州正规网站制作公司哪家好推广项目网站
  • 做网站需要几个服务器百度广告位价格表
  • 教务处网站建设要求seo网站推广方案策划书
  • 免费b2b网站大全 新闻免费发布产品的平台
  • 济南做平台网站的蜘蛛搜索
  • 做自媒体关注的网站个人网站的制作
  • 杭州房产免费网站建设网站在线生成app
  • 多用户b2b2c商城系统专业网站优化公司
  • 如何购买网站服务器宁波seo推广优化
  • 北京专业企业营销网站建设网络链接推广
  • 摄像头监控视频怎么做直播网站成都做网络推广的公司有哪些
  • 怎样购买网站域名市场营销平台
  • 网站制作公司价格东莞seo网络优化
  • 平顶山做网站的公司百度seo引流怎么做
  • 平面设计素材网站推荐国内外搜索引擎大全
  • 做网站你给推广360推广平台登录入口
  • 怎么做快播电影网站公司网站设计图