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

郑州建设网站的公司文化建设设计网站

郑州建设网站的公司,文化建设设计网站,怎么在互联网推广产品,wordpress插件白屏抽象工厂模式 抽象工厂模式是一种创建型设计模式,旨在提供一个接口来创建一系列相关或依赖对象,而无需指定其具体类。 同级别产品指同一类型产品,,同产品族是指一组相关的对象或产品,类似同一品牌。 抽象工厂模式是工…

抽象工厂模式

抽象工厂模式是一种创建型设计模式,旨在提供一个接口来创建一系列相关或依赖对象,而无需指定其具体类。
同级别产品指同一类型产品,,同产品族是指一组相关的对象或产品,类似同一品牌。
抽象工厂模式是工厂方法模式的升级版,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。
抽象工厂模式结构:
抽象工厂(Abstract Factory):声明创建不同产品的方法(如 createButton(), createTextbox())。
具体工厂(Concrete Factory):实现抽象工厂接口,生成具体产品(如 WindowsFactory 创建 Windows 风格组件)。
抽象产品(Abstract Product):定义产品接口(如 Button, Textbox)。
具体产品(Concrete Product):实现抽象产品接口(如 WindowsButton, MacTextbox)。

具体案例:
咖啡店拓展原有业务,不仅生产咖啡,还需要生产甜点(如提拉米苏,抹茶慕斯等)。这种情况下,拿铁咖啡和美式咖啡是同一产品等级,都是咖啡这一种类。而拿铁咖啡和提拉米苏是同一产品族,都属于意大利风味。

具体实例如下:

//咖啡
public abstract class Coffee {//咖啡名public abstract String getName();//加糖public void addSuger(){System.out.println("Add Suger");}//加牛奶public void addMilk(){System.out.println("Add Milk");}
}public class AmericanCoffee extends Coffee {@Overridepublic String getName() {return "美式咖啡";}
}public class LatteCoffee extends Coffee {@Overridepublic String getName() {return "拿铁咖啡";}
}
//甜品public abstract class Dessert {public abstract void show();
}//提拉米苏甜点
public class Trimisu extends Dessert{@Overridepublic void show() {System.out.println("提拉米苏");}
}//抹茶甜点
public class MatchaMousse extends Dessert{@Overridepublic void show() {System.out.println("抹茶");}
}
//工厂接口
public interface DessertFactory {//生产咖啡Coffee createCoffee();//生产甜点Dessert createDessert();
}//意大利风味甜品工厂,拿铁和提拉米苏
public class ItalyDesserFactory implements DessertFactory{@Overridepublic Coffee createCoffee() {return new LatteCoffee();}@Overridepublic Dessert createDessert() {return new Trimisu();}
}//美式风味,美式咖啡和抹茶甜品
public class AmericanDessertFactory implements DessertFactory {@Overridepublic Coffee createCoffee() {return new AmericanCoffee();}@Overridepublic Dessert createDessert() {return new MatchaMousse();}
}
//测试类
public class Client {public static void main(String[] args) {//创建的是意大利风味甜品工厂对象//ItalyDesserFactory factory=new ItalyDesserFactory();AmericanDessertFactory factory = new AmericanDessertFactory();//获取拿铁咖啡和提拉米苏甜品Coffee coffee = factory.createCoffee();//意大利Dessert dessert = factory.createDessert();//意大利System.out.println(coffee.getName());dessert.show();}
}

如果接下来需要添加同一个产品族,只需要再加一个对应工厂即可不需要修改其他的类。

优点:当一个产品族中的多个对象被设计成一起工作时,他能保证客户端始终只使用同一个产品族中的对象。
缺点:当产品族中需要增加一个新产品时,所有工厂类都需要进行修改

http://www.dtcms.com/a/555960.html

相关文章:

  • 网站建设中的服务器搭建方式电子工程师是干啥的
  • iis6.0不能新建网站福永营销型网站多少钱
  • 米拓企业网站管理系统网站如何做攻击防护
  • 网站怎样优化文章关键词在线购物网站设计
  • 百度上找不到网站微信小程序开发服务商
  • 全网vip视频网站怎么做合肥响应式网站建设
  • 百度云主机上装网站网站建设和管理存在的问题
  • 加强公司门户网站建设seo矩阵培训
  • 产品网站建站网站建设专业知识
  • php网站开发职位网站优秀设计
  • 品牌网站建设 意义网站备案 几年
  • 青岛网站建设情况网站开发的最初阶段包括
  • seo网站优化经理网站中的二维码设计
  • 寺庙网站模板各大网站响应生态建设
  • 做网站是要写代码的吗梅州建站推荐
  • 晋城企业网站建设公司广州营销咨询公司
  • 做国外营销型网站设计百度怎么精准搜索
  • 对于做网站有什么要求萨龙 wordpress
  • 郑州网站建设乛汉狮网络上海外贸公司地址
  • 做门户网站的营业范围百度服务商
  • 网站建设试用yy直播赚钱吗
  • 网站建设完提交百度网页制作背景图片
  • 公司网站 域名如何打开图片工具wordpress
  • 定海建设规划网站重庆森林经典台词梁朝伟
  • 网络公司网站建设彩铃样本专做宠物的网站
  • 爱心捐赠网站怎么做wordpress模板 游戏
  • 广告案例的网站网站域名信息查询
  • 手机网站开发流程什么是论坛推广
  • 网站301重定向$哈尔滨信息工程学院地址
  • 奉化网站关键词优化费用哪些网站有二维码