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

郑州做网站公司叮当app制作平台登录

郑州做网站公司,叮当app制作平台登录,精准扶贫建设网站的目的,网站留言如何做的一篇博客读懂设计模式之—工厂模式 工厂模式在我们日常开发的时候经常用到#xff0c;相信大家都有了一定的了解#xff0c;工厂模式是一种创建对象的设计模式#xff0c;它提供一种创建对象的最佳方式。 主要过程是#xff1a; 定义一个创建对象的接口#xff0c;让其子…一篇博客读懂设计模式之—工厂模式 工厂模式在我们日常开发的时候经常用到相信大家都有了一定的了解工厂模式是一种创建对象的设计模式它提供一种创建对象的最佳方式。 主要过程是 定义一个创建对象的接口让其子类自己决定实例化哪一个工厂类工厂模式使其创建过程延迟到子类进行。 工厂模式主要有常见的三种类型简单工厂模式工厂方法模式抽象工厂模式。下面我们分别用代码来介绍一下这三种模式的演化过程 简单工厂模式 添加一个接口 public interface Car {String getBrand(); }添加几个实现类实现接口 public class Bmw implements Car {Overridepublic String getBrand() {return BMW;} }public class Benz implements Car {Overridepublic String getBrand() {return Benz;} }public class Audi implements Car{Overridepublic String getBrand() {return Audi;} }添加一个方法来选择创建的对象 //todo:1 简单工厂模式虽然代码很简单但是一个工厂怎么可能生产这么多不同的产品不太符合规律所以有了工厂方法模式 public class SimpleFactory {public Car getCar(String name){if(BMW.equalsIgnoreCase(name)){return new Bmw();}else if(Benz.equalsIgnoreCase(name)){return new Benz();}else if(audi.equalsIgnoreCase(name)){return new Audi();}else{return null;}} }添加测试类 public class TestSimpleFactory {public static void main(String[] args) {SimpleFactory simpleFactory new SimpleFactory();Car car simpleFactory.getCar();System.out.println(car.getBrand());} }工厂方法模式 添加一个工厂的接口 //todo:2 工厂方法模式通过接口来实现不过这有个不足我们消费者得自己知道用哪个工厂来进行生产 public interface Factory {Car getCar(); }实现接口的工厂类 public class AudiFactory implements Factory {Overridepublic Car getCar() {return new Audi();} }public class BenzFactory implements Factory {Overridepublic Car getCar() {return new Benz();} }public class BmwFactory implements Factory{Overridepublic Car getCar() {return new Bmw();} }测试类 public class TestFuncFactory {//这种模式也有点问题工厂模式的好处是让使用者更加方便但是这种模式还要我们知道是要用哪个工厂来创建这也太不智能了吧所以就有了抽象工厂public static void main(String[] args) {System.out.println(new BenzFactory().getCar());System.out.println(new BmwFactory().getCar());System.out.println(new AudiFactory().getCar());} }抽象工厂方法 整合了前面两种模式 添加一个抽象工厂 //todo:3. 抽象工厂方法模式利用抽象类来实现综合了工厂方法和简单工厂方法两种模式的优缺点 public abstract class AbstractFactory {abstract Car getCar();public Car getCar(String name){if(BMW.equalsIgnoreCase(name)){return new BmwFactory().getCar();}else if(Benz.equalsIgnoreCase(name)){return new BenzFactory().getCar();}else if(audi.equalsIgnoreCase(name)){return new AudiFactory().getCar();}else{return null;}} }添加一个默认实现类 //因为抽象类不能直接实例化所以这里添加了一个默认类来实现抽象类的其他方法 public class DefaultFactory extends AbstractFactory {OverrideCar getCar() {return new BenzFactory().getCar();} }测试类 public class TestAbstrFactory {public static void main(String[] args) {DefaultFactory defaultFactory new DefaultFactory();System.out.println(defaultFactory.getCar(bmw));} }** 后期会继续完善 欢迎留言点赞 **
http://www.zqtcl.cn/news/151337/

相关文章:

  • 网站建设公司做网站要多少费用有哪些外国网站国内可以登录的
  • 天津建站平台网页制作免费的素材网站
  • 建设网站需要专业哪个企业提供电子商务网站建设外包
  • 公司网站建设及维护网站建设思维
  • 那个网站可以学做西餐17做网站广州沙河
  • 品牌网站建设哪里好京东网站建设案例
  • 亚马逊海外版网站深圳市工商注册信息查询网站
  • 新乐做网站优化网站上漂亮的甘特图是怎么做的
  • 新网站应该怎么做seo品牌推广方案思维导图
  • 想要网站导航推广页浅谈中兴电子商务网站建设
  • 免费引流在线推广成都网站优化费用
  • 老河口市网站佛山市点精网络科技有限公司
  • word模板免费网站seo引擎优化是做什么的
  • 办网站怎么赚钱鄠邑建站 网站建设
  • 宜春网站建设推广微信小程序开发
  • 巴南城乡建设网站免费网站建设软件大全
  • 湖南网站建设公公司没有自己的网站
  • 刚建设的网站如何推广网站恢复正常
  • 怎么做制作网站的教程永久免费空间免备案
  • 网站维护运营怎么做简单的手机网址大全
  • 网站建设规划设计公司排名使用模块化的网站
  • 南宁网站seo大概多少钱门户网站建设公司渠道
  • 如何建国际商城网站海门做网站公司
  • 做网站应该画什么图注册子公司流程及所需资料
  • 嵊州市建设银行网站怎么自己做游戏软件
  • 用模板快速建站中园建设银行网站
  • 网站建设罒金手指下拉壹陆韩国最新新闻消息
  • 东莞企业网站推广技巧wordpress怎么汉化
  • 17网站一起做网店如何下单iis服务器网站301重定向怎么做
  • 网站如何做线上支付功能seo网站推广优化费用