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

南宁营销型网站设计培训机构营业执照如何办理

南宁营销型网站设计,培训机构营业执照如何办理,体育投注网站开发,有域名怎么做网站一,定义 工厂模式与Android 设计模式--单例模式-CSDN博客,Android设计模式--Builder建造者模式-CSDN博客,Android设计模式--原型模式-CSDN博客 一样,都是创建型设计模式。 工厂模式就是定义一个用于创建对象的接口,让…

一,定义

工厂模式与Android 设计模式--单例模式-CSDN博客,Android设计模式--Builder建造者模式-CSDN博客,Android设计模式--原型模式-CSDN博客 一样,都是创建型设计模式。

工厂模式就是定义一个用于创建对象的接口,让子类决定实例化哪个类

二,使用场景

在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。

三,工厂模式简单使用

工厂模式主要分为四个模块:

1,抽象工厂,其为工厂模式的核心

2,具体工厂,其实现了具体的业务逻辑

3,抽象产品,是工厂方法模式所创建的产品的父类

4,具体产品,为实现抽象产品的某个具体产品的对象

下面来看一个简单的案例

某手机工厂可以生产三种手机,分别是手机A,手机B,手机C。

创建一个抽象的产品接口:

public interface Phone {void call();
}

创建具体的产品类:

public class PhoneA implements Phone{private static final String TAG = "phoneA";@Overridepublic void call() {Log.d(TAG,"我是手机A");}
}
public class PhoneB implements Phone{private static final String TAG = "PhoneB";@Overridepublic void call() {Log.d(TAG,"我是手机B");}
}

创建一个抽象的工厂接口:

public interface Factory {Phone createPhone();
}

创建具体的工厂类:

public class FactoryPhoneA implements Factory{@Overridepublic PhoneA createPhone() {return new PhoneA();}
}
public class FactoryPhoneB implements Factory{@Overridepublic PhoneB createPhone() {return new PhoneB();}
}

使用:

FactoryPhoneA factoryA =new FactoryPhoneA();
PhoneA phone =factoryA.createPhone();
phone.call();
FactoryPhoneB factoryB=new FactoryPhoneB();
PhoneB phoneB =factoryB.createPhone();
phoneB.call();

输出:

四,使用反射的工厂模式

还是上面的例子

抽象工厂接口可以改造为:

public interface Factory<T extends Phone> {T createPhone(Class<T> tClass);
}

具体的工厂类改造为:

public class PhoneFactory<T extends Phone> implements Factory<T>{@Overridepublic T createPhone(Class<T> tClass) {Phone phone =null;try {phone = (Phone) Class.forName(tClass.getName()).newInstance();} catch (Exception e) {throw new RuntimeException(e);}return (T) phone;}
}

这样在使用的时候,就class来动态的加载对象:

PhoneFactory phoneFactory =new PhoneFactory();
Phone phone1 = phoneFactory.createPhone(PhoneA.class);
phone1.call();
Phone phone2 = phoneFactory.createPhone(PhoneB.class);
phone2.call();

输出:

五,总结

总的来说,工厂模式是一个很好的设计模式,可以很优雅的创建对象,也符合设计原则。

缺点就是每增加一个新的产品,就会增加一个新的产品类,同时还要引入抽象层,这必然会导致类结构的复杂化,所以,在某些情况比较简单时,就没有必要非要去使用工厂模式。

参考文献:Android源码设计模式解析与实战第二版

http://www.mmbaike.com/news/78772.html

相关文章:

  • 柯基合肥全网优化
  • 网站 seo 优化建议win优化大师怎么样
  • 天津去山西高铁做哪个网站开发一个app平台大概需要多少钱?
  • 宝安关于网站建设企业网站怎么建立
  • 哪家做公司网站百度指数网页版
  • 做电子的外单网站有哪些的成都官网seo服务
  • 网页设计制作网站代码html手机搜索引擎
  • 塑胶加工东莞网站建设技术支持seo商城
  • 东莞网站制作公司是什么网络推广的渠道有哪些
  • 做购物网站表结构分析百度长尾关键词挖掘工具
  • 上海网站制作公司沈阳头条今日头条新闻最新消息
  • 大连哪个企业想做网站百度极速版app下载
  • 做鸭子的网站seo实战培训王乃用
  • 做网站的书知乎今日足球赛事分析推荐
  • 武汉网站二次开发北京seo站内优化
  • 大学生网站作品安康地seo
  • 企业网站空间买虚拟主机品牌网络营销案例
  • 杭州网站建设icp备全国知名网站排名
  • 网站与微信对接北京疫情最新数据
  • 游戏充值网站怎么做临沂百度推广多少钱
  • wordpress 最大上传seo公司网站
  • 如何做ico空投网站线上推广如何引流
  • 山西省新农村建设网站灰色关键词排名方法
  • wordpress wp_head()太原seo排名优化公司
  • 目前最主流的网页制作软件是googleseo服务公司
  • 厦门中国建设银行招聘信息网站北京搜索引擎优化主管
  • 凡科h5在线制作淘宝seo
  • 做好网站功能性建设工作培训心得体会范文大全2000字
  • 苏州市城乡建设档案馆网站2022最新国际新闻10条简短
  • wordpress主题带手机版网站优化排名易下拉效率