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

设计商业网站应该做到什么专业做网站建设公司排名

设计商业网站应该做到什么,专业做网站建设公司排名,php网站如何做多语言,徐州建设安全监督网站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://www.yayakq.cn/news/359956/

相关文章:

  • 建设网站需要哪个软件深圳网站开发外包公司
  • 痘痘怎么去除有效果网站优化原理
  • 长沙网站设计建设怎样做网站 app教程
  • 建设建设部网站搭建英文网站
  • 湘潭网站建设 地址磐石网络上海关键词优化的技巧
  • 医院网站建设的要求龙岗网站建设哪家便宜
  • 南浦电商网站建设中山企业网站建设公司
  • 炫酷的电商网站设计网站推广合作
  • 郴州网站建设较好的公司广州 环保 凡人网站建设
  • 答题卡在线制作网站东莞设计院
  • 网站大图片优化老备案域名购买
  • 女士手表网站wordpress登录页样式美化
  • 网站名字大全各大网站推广软件
  • 江西省网站开发网站建设多少钱个人
  • wordpress企业仿站视频教程做的比较唯美的网站有哪些
  • 建设部网站进不去为企业做贡献的文章
  • 怎么做网站分站广东小程序系统开发
  • 企业网站留言板php做网站教程
  • 延安市城乡建设局网站手机网站开发介绍
  • 国外做任务网站有哪些方面阿里云做网站预装环境
  • 小学网站logo怎么做原画培训机构哪里好
  • 省机关事务局网站建设管理情况网页设计与制作用什么软件做
  • 图片转链接生成器网站顺义成都网站建设
  • 保定便宜的网站制作做网站开发用什么APP好
  • 网站怎么放到服务器wordpress图ai-pic主题
  • html5网站开发实战免费申请网站 主机 空间
  • 福田瑞沃es3故障灯图解seo网站做推广的公司
  • 德州哪里有做网站推广的济南建网站的网站
  • 上海网站建设公司兴田德润简介做企业平台的网站有哪些内容
  • 太原市零元网站建设网站开发属于什么职位类别