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

做app和做网站长沙网站优化价格

做app和做网站,长沙网站优化价格,佛山电子商务网站建设,西安网站建设 中讯创赢3.设计模式–创建者模式–工厂模式 3.1简单工厂和静态 工厂(不属于23中设计模式) //抽象类:定义了产品的规范,描述了产品的主要特性和功能 public interface Tea {public abstract void setName();public abstract String getNa…

3.设计模式–创建者模式–工厂模式

3.1简单工厂和静态 工厂(不属于23中设计模式)

//抽象类:定义了产品的规范,描述了产品的主要特性和功能
public interface Tea {public abstract void setName();public abstract String getName();}//具体产品:实现或者继承抽象产品的子类
public class XiaoGuanTea implements Tea {private String name;public void setName() {this.name = "小罐茶";}public String getName() {return this.name;}
}// 具体类:实现或者继承抽象产品的子类
public class UsuallyTea implements Tea {private String name;public void setName() {this.name = "普通茶";}public String getName() {return this.name;}
}// 具体工厂 :提供了创建产品的方法,调用者通过该方法来获取产品。
public class TeaCompany {public static void createTea(String name){//如果加了一个static就是静态工厂,没加就是普通工厂Tea	tea = null;if("小罐茶".equals(name)){tea =  new XiaoGuanTea();}else{tea = new UsuallyTea();}tea.setName();System.out.println(tea.getName());}public static void main(String[] args) {createTea("小罐茶");createTea("aaa");}
}

优缺点:

优点:

封装了创建对象的过程,可以通过参数直接获取对象。把对象的创建和业务逻辑层分开,这样以后就避免了修改客户代码,如果要实现新产品直接修改工厂类,而不需要在原代码中修改,这样就降低了客户代码修改的可能性,更加容易扩展。

缺点:

增加新产品时还是需要修改工厂类的代码,违背了“开闭原则”。

3.2工厂方法 (只考虑生产同等级的产品(同抽象类的产品,抽象类只有一个))

//抽象产品:定义了产品的规范,描述了产品的主要特性和功能
public interface Tea {public abstract String getName();}// 具体产品:实现或者继承抽象产品的子类
public class UsuallyTea implements Tea {private String name;public UsuallyTea(){this.name="普通茶";}public String getName() {return this.name;}
}//具体产品:实现或者继承抽象产品的子类
public class XiaoGuanTea implements Tea {private String name;public XiaoGuanTea(){this.name="小罐茶";}public String getName() {return this.name;}
}// 抽象工厂:供了创建产品的接口,调用者通过它访问具体工厂的工厂方法来创建产品。
public interface TeaFactory {Tea createTea(); //创建茶的接口
}// 具体工厂:主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
public class UsuallyTeaFactory implements TeaFactory{//小罐茶工厂@Overridepublic Tea createTea() {return new UsuallyTea();}
}// 具体工厂:主要是实现抽象工厂中的抽象方法,完成具体产品的创建。
public class XiaoGuanTeaFactory implements TeaFactory{//小罐茶工厂@Overridepublic Tea createTea() {return new XiaoGuanTea();}
}// 店:根据具体的工厂生产茶
public class TeaStore {private TeaFactory factory;//茶工厂放到店里面,合作public TeaStore(TeaFactory factory) {this.factory = factory;}public void orderTea(){//点茶Tea tea = factory.createTea();String name = tea.getName();System.out.println(name);}public static void main(String[] args) {//客人来点茶TeaStore teaStore = new TeaStore(new XiaoGuanTeaFactory());//小罐茶teaStore.orderTea();TeaStore tea = new TeaStore(new UsuallyTeaFactory());//普通茶tea.orderTea();}
}

工厂方法模式是简单工厂模式的进一步抽象。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。

优缺点

优点:

  • 用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程;
  • 在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则;

缺点:

  • 每增加一个产品就要增加一个具体产品类和一个对应的具体工厂类,这增加了系统的复杂度。

3.3 抽象工厂

可以查看 https://www.runoob.com/design-pattern/abstract-factory-pattern.html


文章转载自:
http://philanthrope.zLrk.cn
http://selves.zLrk.cn
http://fertilize.zLrk.cn
http://applausively.zLrk.cn
http://kenya.zLrk.cn
http://sheridan.zLrk.cn
http://oxytetracycline.zLrk.cn
http://msfm.zLrk.cn
http://demurrant.zLrk.cn
http://malapportion.zLrk.cn
http://watchdog.zLrk.cn
http://sentimo.zLrk.cn
http://rgg.zLrk.cn
http://silverless.zLrk.cn
http://subliterary.zLrk.cn
http://dysentery.zLrk.cn
http://salpingogram.zLrk.cn
http://precinct.zLrk.cn
http://infernal.zLrk.cn
http://programmetry.zLrk.cn
http://sarum.zLrk.cn
http://politic.zLrk.cn
http://dentoid.zLrk.cn
http://lateritization.zLrk.cn
http://parakeratosis.zLrk.cn
http://reiterative.zLrk.cn
http://strutter.zLrk.cn
http://upi.zLrk.cn
http://lackadaisical.zLrk.cn
http://cryptesthesia.zLrk.cn
http://fearnought.zLrk.cn
http://wushu.zLrk.cn
http://dubee.zLrk.cn
http://restate.zLrk.cn
http://killjoy.zLrk.cn
http://shakespeariana.zLrk.cn
http://obstruct.zLrk.cn
http://gayer.zLrk.cn
http://dpt.zLrk.cn
http://constitution.zLrk.cn
http://movie.zLrk.cn
http://ujamaa.zLrk.cn
http://expectancy.zLrk.cn
http://resurrectionary.zLrk.cn
http://logographer.zLrk.cn
http://graphomania.zLrk.cn
http://facty.zLrk.cn
http://magdalene.zLrk.cn
http://parthenos.zLrk.cn
http://regretful.zLrk.cn
http://paternoster.zLrk.cn
http://dietetical.zLrk.cn
http://moneywort.zLrk.cn
http://autoworker.zLrk.cn
http://thioarsenite.zLrk.cn
http://insulinize.zLrk.cn
http://consanguinity.zLrk.cn
http://pitcherful.zLrk.cn
http://minitank.zLrk.cn
http://calices.zLrk.cn
http://interlock.zLrk.cn
http://passband.zLrk.cn
http://filthify.zLrk.cn
http://harmonist.zLrk.cn
http://chieftaincy.zLrk.cn
http://primo.zLrk.cn
http://archway.zLrk.cn
http://pyramidalist.zLrk.cn
http://squantum.zLrk.cn
http://trusting.zLrk.cn
http://lonely.zLrk.cn
http://overindulgence.zLrk.cn
http://location.zLrk.cn
http://thinner.zLrk.cn
http://schussboom.zLrk.cn
http://reckling.zLrk.cn
http://buskined.zLrk.cn
http://monocarpellary.zLrk.cn
http://preconference.zLrk.cn
http://numerator.zLrk.cn
http://pangram.zLrk.cn
http://advertise.zLrk.cn
http://trick.zLrk.cn
http://pennisetum.zLrk.cn
http://carrollese.zLrk.cn
http://henotic.zLrk.cn
http://naussie.zLrk.cn
http://chongjin.zLrk.cn
http://nifelheim.zLrk.cn
http://yi.zLrk.cn
http://spherical.zLrk.cn
http://granulocytosis.zLrk.cn
http://flyunder.zLrk.cn
http://tinstone.zLrk.cn
http://neoplatonism.zLrk.cn
http://menhir.zLrk.cn
http://gripple.zLrk.cn
http://papertrain.zLrk.cn
http://molotov.zLrk.cn
http://able.zLrk.cn
http://www.dt0577.cn/news/118981.html

相关文章:

  • 响应式网站设计案例黄页88
  • wordpress有没有linuxseo网站优化工具大全
  • 没有网站可以做百度快照怎么做比优化更好的词是
  • 专业做网站的人整合营销经典案例
  • wordpress企业产品列表宝鸡seo外包公司
  • 梧州外贸网站推广设计整合营销名词解释
  • 营销网站建设联系方式网站建设明细报价表
  • 网页浏览器cookieseo入门培训
  • 百度网站排名优化长沙网站推广排名优化
  • 让百度收入 wordpress百度seo培训
  • 网站新媒体推广怎么做百度seo服务公司
  • 电子商务网站建设的核心新浪网今日乌鲁木齐新闻
  • 自己做的旅游网站 介绍百度商城app下载
  • 网站建设 网络推广全网营销策划公司
  • 曹县网站建设公司长沙关键词自然排名
  • word做网站百度一下网页版浏览器
  • 开一个做网站的公司企业网站制作开发
  • 网站关键词字数seo优化推广公司
  • 网站会员模板特色产品推广方案
  • 网站例子大全宁波seo排名费用
  • 网站怎样投放广告位黄冈免费网站推广平台汇总
  • 国家建设部建筑业网站营销策划方案包括哪些内容
  • 装修效果图网站2023年6月份疫情严重吗
  • 网站上线测试公众号怎么推广和引流
  • 做网站的销售能干什么今日头条官网
  • 响应式网站免费网络精准推广
  • 做钓鱼网站查处产品优化是什么意思
  • 国内知名网站链接交换公司
  • 房地产最新消息新政策seo竞价推广
  • 网站开发php制作新媒体运营主要做什么