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

义乌网站制作是什么wordpress积分插件中文免费下载

义乌网站制作是什么,wordpress积分插件中文免费下载,电商法,网上推广哪家好工厂方法模式概述 工厂方法模式#xff0c;是对简单工厂模式的进一步抽象和推广。以我个人理解#xff0c;工厂方法模式就是对生产工厂的抽象#xff0c;就是用一个生产工厂的工厂来进行目标对象的创建。 工厂方法模式的角色组成和简单工厂方法相比#xff0c;创建了一个…工厂方法模式概述 工厂方法模式是对简单工厂模式的进一步抽象和推广。以我个人理解工厂方法模式就是对生产工厂的抽象就是用一个生产工厂的工厂来进行目标对象的创建。 工厂方法模式的角色组成和简单工厂方法相比创建了一个工厂的接口生产相应的产品的工厂类都要实现此接口然后多了一个用来创建对应工厂类对象的总工厂类真正业务调用的就是这个总工厂类这个总工厂类可以理解为用来创建工厂类的工厂类。 以上创建了一个工厂的接口所有的用来生产目标产品的工厂都要实现这个接口说明这是目标产品们不是只由一个工厂生产的可能由多个工厂分开分别生产即由多个简单工厂组成为何要如此呢见下文解释。 代码实现 为了更好的与简单工厂模式进行对比直接引入简单工厂模式的博客的例子见博客 设计模式简单工厂模式-CSDN博客 若这个餐馆的原先的那个厨师不会烹饪羊肉和牛肉要新招一个会烹饪牛肉和羊肉的厨师。 工厂接口 两个厨师都要实现指定的工厂的接口可以说他们都是生产菜品的工厂。 public interface Factory {Cooking createCooking(String type); } 厨师要实现对应的创造菜品的方法 工厂类 原先的工厂类 public class CookingFactory implements Factory {public Cooking createCooking(String type){Cooking cooking null;switch (type){case 鱼:cooking new CookingFish();break;case 土豆:cooking new CookingPotato();break;case 鸡肉:cooking new CookingChicken();break;}return cooking;} } 原来的工厂类要做一些修改让其实现工厂接口并且那个生产菜品的方法不用设置为静态方法因为这个方法不是直接由业务代码调用的业务代码调用的是总工厂类的方法。 新的工厂类 public class CookingFactory2 implements Factory {public Cooking createCooking(String type){Cooking cooking null;switch (type){case 羊肉:cooking new CookingMutton();break;case 牛肉:cooking new CookingBeef();break;}return cooking;} } 新的工厂类和原来的工厂类的逻辑是一样的只是所生产的菜品不一样。 public class GetCooking {public static Cooking createFactory(String type) throws Exception {Factory factory null;Cooking cooking null;switch (type){case 鱼:case 土豆:case 鸡肉:factory new CookingFactory();break;case 牛肉:case 羊肉:factory new CookingFactory2();break;default:factory null;break;}if (factory null) {throw new Exception(菜品不存在);}cooking factory.createCooking(type);return cooking;} } 总工厂类 总工厂类有点像用来创建工厂类的工厂最后将菜品的类型代入目标工厂类获得目标菜品。 public class GetCooking {public static Cooking createFactory(String type) throws Exception {Factory factory null;Cooking cooking null;switch (type){case 鱼:case 土豆:case 鸡肉:factory new CookingFactory();break;case 牛肉:case 羊肉:factory new CookingFactory2();break;default:factory null;break;}if (factory null) {throw new Exception(菜品不存在);}cooking factory.createCooking(type);return cooking;} } 总结 以上代码可以看出这个模式的好处就是当要加一些新的产品时不用去改动原先的工厂而是直接创建一个新的工厂更符合开闭原则。 可以看出当一类产品只有一个工厂类时就是简单工厂模式。当一类产品有多个工厂类时就是工厂方法模式。工厂方法模式就是对简单工厂模式的进一步抽象和拓展。 但是这种模式还是有缺点当增加了新的产品后还是要对总工厂类中的代码进行一定修改还是没有很好地符合开闭原则。当然后面还有更好的能解决此问题的模式拭目以待吧。
http://www.dnsts.com.cn/news/253072.html

相关文章:

  • 房产中介网站建设进度嘉兴最大网络平台
  • 建设课程网站的目的做网站 用asp
  • 网站建设方案总结question2answer wordpress 整合
  • 郑州建设网站山西晋中网站建设
  • 建一个个人网站个人网站建设论文
  • 连云港网站建设公司登录百度账号
  • 单位网站建设典型材料农村电商网站建设计划书
  • 网站首页关键词优化微信网站定制
  • 如何看到网站做哪些关键字杭州学编程哪里的培训机构好
  • 浏览器打开用dw做的网站说网站是意识形态建设
  • 网站推广公司招聘网站会员注册模板
  • 深圳网站建设做一个公司网站要多少钱可以用asp做哪些网站
  • 网站使用帮助广告联盟平台怎么加入
  • 网站安全建设架构西安网站开发费用
  • 电子商务网站建设实训报告网站推广过程
  • 长沙网站建设团队中山网站建设是什么
  • 高端网站开发培训价格手机版网页
  • 模板建站难度大php网站开发专业背景
  • 网站首页效果图百度推广入口登录
  • 一起来做网站17网站代理 登陆
  • 企业营销型网站设计手机网站改版
  • 刷单类网站开发wordpress主题邮件模板下载
  • 哪些网站是用c语言做的网页界面设计教案
  • 昆山有建设网站的吗wordpress上传突然提示需要ftp
  • 人才网站wordpress 交互
  • 医疗类网站还有做seo刚开的店铺怎么做推广
  • 兰州网站建设技能论文wordpress如何做页面模板下载
  • 湖南智能网站建设哪家好视频教程网
  • 建站免费空间网站建设陕西
  • 陕西住房和建设部网站首页合肥三只羊网络科技有限公司