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

网站建设中的html页面下载沧州网站建设 网络服务

网站建设中的html页面下载,沧州网站建设 网络服务,wordpress网站实现微信登录,苏州市建设交通高等学校网站文章目录 工厂模式1、简单工厂模式2、工厂模式3、抽象工厂4、总结 工厂模式 工厂模式是 Java 中最常用的设计模式之一#xff0c;工厂模式模式的写法有好几种#xff0c;这里主要介绍三种#xff1a;简单工厂模式、工厂模式、抽象工厂模式 1、简单工厂模式 这里以制造cof… 文章目录 工厂模式1、简单工厂模式2、工厂模式3、抽象工厂4、总结 工厂模式 工厂模式是 Java 中最常用的设计模式之一工厂模式模式的写法有好几种这里主要介绍三种简单工厂模式、工厂模式、抽象工厂模式 1、简单工厂模式 这里以制造coffee的例子开始工厂模式设计之旅。 我们知道coffee只是一种泛举在点购咖啡时需要指定具体的咖啡种类美式咖啡、卡布奇诺、拿铁等等。 /*** 拿铁、美式咖啡、卡布奇诺等均为咖啡家族的一种产品* 咖啡则作为一种抽象概念* author Lsj**/ public abstract class Coffee {/*** 获取coffee名称* return*/public abstract String getName(); }/*** 美式咖啡* author Lsj**/ public class Americano extends Coffee {Overridepublic String getName() {return 美式咖啡;} }/*** 卡布奇诺* author Lsj**/ public class Cappuccino extends Coffee {Overridepublic String getName() {return 卡布奇诺;} } /*** 拿铁* author Lsj**/ public class Latte extends Coffee {Overridepublic String getName() {return 拿铁;} }2、工厂模式 定义了一个创建对象的接口但由子类决定要实例化的类是哪一个工厂方法让类把实例化推迟到了子类。 /*** 定义一个抽象的咖啡工厂* author Lsj*/ public abstract class CoffeeFactory {/*** 生产可制造的咖啡* return*/public abstract Coffee[] createCoffee();}/*** 中国咖啡工厂* author Lsj**/ public class ChinaCoffeeFactory extends CoffeeFactory {Overridepublic Coffee[] createCoffee() {// TODO Auto-generated method stubreturn new Coffee[]{new Cappuccino(), new Latte()};} } /*** 美国咖啡工厂* author Lsj**/ public class AmericaCoffeeFactory extends CoffeeFactory {Overridepublic Coffee[] createCoffee() {// TODO Auto-generated method stubreturn new Coffee[]{new Americano(), new Latte()};}} /*** 工厂方法测试* author Lsj**/ public class FactoryMethodTest {static void print(Coffee[] c){for (Coffee coffee : c) {System.out.println(coffee.getName());}}public static void main(String[] args) {CoffeeFactory chinaCoffeeFactory new ChinaCoffeeFactory();Coffee[] chinaCoffees chinaCoffeeFactory.createCoffee();System.out.println(中国咖啡工厂可以生产的咖啡有);print(chinaCoffees);CoffeeFactory americaCoffeeFactory new AmericaCoffeeFactory();Coffee[] americaCoffees americaCoffeeFactory.createCoffee();System.out.println(美国咖啡工厂可以生产的咖啡有);print(americaCoffees);} }3、抽象工厂 提供一个接口用于创建相关或依赖对象的家族而不需要明确指定具体类。 在上述的场景上继续延伸咖啡工厂做大做强引入了新的饮品种类茶、 碳酸饮料。中国工厂只能制造咖啡和茶美国工厂只能制造咖啡和碳酸饮料。 如果用上述工厂方法方式除去对应的产品实体类还需要新增2个抽象工厂茶制造工厂、碳酸饮料制造工厂4个具体工厂实现。随着产品的增多会导致类爆炸。 所以这里引出一个概念产品家族在此例子中不同的饮品就组成我们的饮品家族 饮品家族开始承担创建者的责任负责制造不同的产品。 /*** 抽象的饮料产品家族制造工厂* author Lsj**/ public interface AbstractDrinksFactory {/*** 制造咖啡* return*/Coffee createCoffee();/*** 制造茶* return*/Tea createTea();/*** 制造碳酸饮料* return*/Sodas createSodas(); }/*** 中国饮品工厂* 制造咖啡与茶* author Lsj**/ public class ChinaDrinksFactory implements AbstractDrinksFactory {Overridepublic Coffee createCoffee() {// TODO Auto-generated method stubreturn new Latte();}Overridepublic Tea createTea() {// TODO Auto-generated method stubreturn new MilkTea();}Overridepublic Sodas createSodas() {// TODO Auto-generated method stubreturn null;}}/*** 美国饮品制造工厂* 制造咖啡和碳酸饮料* author Lsj**/ public class AmericaDrinksFactory implements AbstractDrinksFactory {Overridepublic Coffee createCoffee() {// TODO Auto-generated method stubreturn new Latte();}Overridepublic Tea createTea() {// TODO Auto-generated method stubreturn null;}Overridepublic Sodas createSodas() {// TODO Auto-generated method stubreturn new CocaCola();}}/*** 抽象工厂测试类* author Lsj**/ public class AbstractFactoryTest {static void print(Drink drink){if(drink null){System.out.println(产品-- );}else{System.out.println(产品 drink.getName());}}public static void main(String[] args) {AbstractDrinksFactory chinaDrinksFactory new ChinaDrinksFactory();Coffee coffee chinaDrinksFactory.createCoffee();Tea tea chinaDrinksFactory.createTea();Sodas sodas chinaDrinksFactory.createSodas();System.out.println(中国饮品工厂有如下产品);print(coffee);print(tea);print(sodas);AbstractDrinksFactory americaDrinksFactory new AmericaDrinksFactory();coffee americaDrinksFactory.createCoffee();tea americaDrinksFactory.createTea();sodas americaDrinksFactory.createSodas();System.out.println(美国饮品工厂有如下产品);print(coffee);print(tea);print(sodas);} }4、总结 a、简单工厂不能算是真正意义上的设计模式但可以将客户程序从具体类解耦。 b、工厂方法使用继承把对象的创建委托给子类由子类来实现创建方法可以看作是抽象工厂模式中只有单一产品的情况。 c、抽象工厂使对象的创建被实现在工厂接口所暴露出来的方法中。 工厂模式可以帮助我们针对抽象/接口编程而不是针对具体类编程在不同的场景下按具体情况来使用。
http://www.hkea.cn/news/14576422/

相关文章:

  • 网站建设工作量评估wordpress的官网
  • 之梦一个系统做多个网站wordpress get_pages 输出格式
  • 找装修公司网站中国核工业第五建设有限公司海南
  • wordpress优化提速外贸网站推广与优化
  • 上海网站建设方案网站编辑工作内容
  • 小公司图片式网站利于做优化吗
  • asp.net网站开发简明教程wordpress网页树叶特效
  • 服装网站建设准备做好网站
  • 网站源码和模板营销网站的建设
  • 在那个网站做ppt可以赚钱租一个服务器建网站多少钱
  • 做企业网站都有什么平台大连谷歌seo公司
  • 给人家做网站服务器自己搭吗做外贸生意用哪个网站最好
  • 超大免费网站空间wordpress仿小刀主题
  • 网站免费响应建设北京家装排名前十名的公司
  • 电子商务网站建设的范围是什么意思网站怎么做访问量统计
  • 开源项目网站广州h5网站开发
  • 如何在网站上做背景图片怎么做长沙公司电话
  • 智慧校园信息门户网站建设手机购物网站设计
  • 云南建设厅网站删除无锡公司网站制作
  • 广州公司网站制作招聘信息医疗器械做网站备案
  • 建湖做网站哪家最好wordpress图片效果
  • 网站规划建设案例wordpress动静分离oss
  • wordpress 搭建网站中国建设银行人才招聘网站
  • 石家庄招聘哪个网站做的好网站建设属于无形资产
  • 公司做的局域网网站怎么登陆济南网站建设销售招聘
  • 网站更改建设方案模板网站的html代码在哪
  • 模板网官网免费金昌网站seo
  • 做网络推广的网站有哪些学信网为什么不承认开放大学
  • 合肥网站快速排名优化丹东企业做网站
  • 哪些网站可以做免费外贸凡科网站产品导航怎么做