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

电商网站大全wordpress判断登录

电商网站大全,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.yutouwan.com/news/501382/

相关文章:

  • 魔站网站开发wordpress标签加标题
  • 昭通网站建设公司网站开发技术是什么
  • 网站商城开发公司网站界面风格设计
  • 在百度上怎么建网站个人网站设计论文范文
  • 毕业设计可以做自己的网站吗机床网站建设
  • 开发一个企业网站需要多少钱辽宁建设厅投诉网站
  • 游戏开发与网站开发哪个难建筑公司网站董事长致辞
  • 手机网站链接微信免费网络电话在线拨打
  • 温州知名网站批量爆破wordpress
  • 网站开发项目需求网站开发需要的编程软件有哪些
  • PHP是做网站最好的网站开发 无代码
  • 广东微信网站推广哪家专业seo网站优化服务
  • 面向搜索引擎网站建设wordpress文章模型插件
  • pc网站建设怎么弄南京软件网站建设公司
  • 做娱乐新闻的网站有哪些成都公司注册流程完整版
  • 建筑工程找活网站wordpress主题教程 pdf
  • 哈尔滨网站建设王道下拉強做外贸用什么社交网站
  • 网站搭建手机郑州网站关键字优化
  • 做网站用c 还是php合肥专业做淘宝网站推广
  • 优质服务的网站建设无锡网络推广
  • 哈尔滨门户网站建设做网站开发有前途么
  • 山东企业建站系统信息梅州新农村建设网站
  • 做网页引用别的网站的视频企业网站的基本类型包括
  • flash互动网站开发中国世界500强企业排名
  • 现在最长用的做网站软件是什么哪些网站可以做淘宝客
  • 廊坊网站备案海南房产网
  • 玉环县建设局网站廊坊百度快照优化哪家服务好
  • 制作一号店网站网站要钱吗?
  • 网站建设的作用有哪些方面wordpress媒体库 下载
  • 权威的手机排行榜网站郑州网站建设乛汉狮网络