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

网站排名需要多长时间市场推广方案ppt

网站排名需要多长时间,市场推广方案ppt,h5app,eclipse网站开发教程建造者模式 摘要实现范例 建造者模式#xff08;Builder Pattern#xff09;使用多个简单的对象一步一步构建成一个复杂的对象 一个Builder 类会一步一步构造最终的对象#xff0c;该 Builder 类是独立于其他对象的 建造者模式属于创建型模式#xff0c;它提供了一种创建对… 建造者模式 摘要实现范例 建造者模式Builder Pattern使用多个简单的对象一步一步构建成一个复杂的对象 一个Builder 类会一步一步构造最终的对象该 Builder 类是独立于其他对象的 建造者模式属于创建型模式它提供了一种创建对象的最佳方式。 摘要 1. 意图 将一个复杂的构建与其表示相分离使得同样的构建过程可以创建不同的表示2. 主要解决 主要解决在软件系统中有时候面临着”一个复杂对象”的创建工作其通常由各个部分的子对象用一定的算法构成由于需求的变化这个复杂对象的各个部分经常面临着剧烈的变化但是将它们组合在一起的算法却相对稳定3. 何时使用 一些基本部件不会变而其组合经常变化的时候4. 如何解决 将变与不变分离开5. 关键代码 建造者创建和提供实例导演管理建造出来的实例的依赖关系 6. 应用实例 去肯德基汉堡、可乐、薯条、炸鸡翅等是不变的而其组合是经常变化的生成出所谓的”套餐”JAVA中的StringBuilder 7. 优点 建造者独立易扩展便于控制细节风险 8. 缺点 产品必须有共同点范围有限制如内部变化复杂会有很多的建造类 9. 使用场景 需要生成的对象具有复杂的内部结构需要生成的对象内部属性本身相互依赖 10. 注意事项 与工厂模式的区别是建造者模式更加关注与零件装配的顺序 实现 我们以一家快餐店为例 一个典型的套餐可以是一个汉堡Burger和一杯冷饮Cold drink 汉堡Burger可以是素食汉堡Veg Burger或鸡肉汉堡Chicken Burger它们是包在纸盒中 冷饮Cold drink可以是可口可乐coke或百事可乐pepsi它们是装在瓶子中 创建一个表示食物条目比如汉堡和冷饮的 Item 接口和实现 Item 接口的实体类 以及一个表示食物包装的 Packing 接口和实现 Packing 接口的实体类汉堡是包在纸盒中冷饮是装在瓶子中 然后创建一个Meal类带有 Item 的 ArrayList 和一个通过结合 Item 来创建不同类型的 Meal 对象的 MealBuilder 最后使用 MealBuilder 来创建一个 Meal 范例 1. 创建一个表示食物条目和食物包装的接口. Item.java package com.demo.gof; public interface Item {public String name();public Packing packing();public float price(); }Packing.java package com.demo.gof; public interface Packing {public String pack(); }2. 创建实现 Packing 接口的实体类 Wrapper.java package com.demo.gof; public class Wrapper implements Packing {Overridepublic String pack() {return Wrapper;} }Bottle.java package com.demo.gof; public class Bottle implements Packing {Overridepublic String pack() {return Bottle;} }3. 创建实现 Item 接口的抽象类该类提供了默认的功能 Burger.java package com.demo.gof; public abstract class Burger implements Item {Overridepublic Packing packing() {return new Wrapper();}Overridepublic abstract float price(); } ColdDrink.java package com.demo.gof; public abstract class ColdDrink implements Item {Overridepublic Packing packing() {return new Bottle();}Overridepublic abstract float price(); }4. 创建扩展了 Burger 和 ColdDrink 的实体类 VegBurger.java package com.demo.gof; public class VegBurger extends Burger {Overridepublic float price() {return 25.0f;}Overridepublic String name() {return Veg Burger;} }ChickenBurger.java package com.demo.gof; public class ChickenBurger extends Burger {Overridepublic float price() {return 50.5f;}Overridepublic String name() {return Chicken Burger;} }Coke.java package com.demo.gof; public class Coke extends ColdDrink {Overridepublic float price() {return 30.0f;}Overridepublic String name() {return Coke;} }Pepsi.java package com.demo.gof; public class Pepsi extends ColdDrink {Overridepublic float price() {return 35.0f;}Overridepublic String name() {return Pepsi;} }5. 创建一个 Meal 类带有上面定义的 Item 对象 Meal.java package com.demo.gof; import java.util.ArrayList; import java.util.List;public class Meal {private ListItem items new ArrayListItem(); public void addItem(Item item){items.add(item);}public float getCost(){float cost 0.0f;for (Item item : items) {cost item.price();} return cost;}public void showItems(){for (Item item : items) {System.out.print(Item : item.name());System.out.print(, Packing : item.packing().pack());System.out.println(, Price : item.price());} } }6. 创建一个 MealBuilder 类实际的 builder 类负责创建 Meal 对象 MealBuilder package com.demo.gof; public class MealBuilder {public Meal prepareVegMeal (){Meal meal new Meal();meal.addItem(new VegBurger());meal.addItem(new Coke());return meal;} public Meal prepareNonVegMeal (){Meal meal new Meal();meal.addItem(new ChickenBurger());meal.addItem(new Pepsi());return meal;} }7. BuiderPatternDemo 使用 MealBuider 来演示建造者模式Builder Pattern BuilderPatternDemo.java package com.demo.gof; public class BuilderPatternDemo {public static void main(String[] args) {MealBuilder mealBuilder new MealBuilder();Meal vegMeal mealBuilder.prepareVegMeal();System.out.println(Veg Meal);vegMeal.showItems();System.out.println(Total Cost: vegMeal.getCost());Meal nonVegMeal mealBuilder.prepareNonVegMeal();System.out.println(\n\nNon-Veg Meal);nonVegMeal.showItems();System.out.println(Total Cost: nonVegMeal.getCost());} }编译运行以上 Java 范例输出结果如下 $ javac -d . src/main/com.demo/gof/BuilderPatternDemo.java $ java com.demo.gof.BuilderPatternDemo Veg Meal Item : Veg Burger, Packing : Wrapper, Price : 25.0 Item : Coke, Packing : Bottle, Price : 30.0 Total Cost: 55.0 Non-Veg Meal Item : Chicken Burger, Packing : Wrapper, Price : 50.5 Item : Pepsi, Packing : Bottle, Price : 35.0 Total Cost: 85.5
http://www.w-s-a.com/news/117926/

相关文章:

  • 安徽建设厅网站首页网站开发aichengkeji
  • 自贡网站制作荣茂网站建设
  • 什么做的网站吗正规的机械外包加工订单网
  • 网络工程公司的业务邵阳seo快速排名
  • 博主怎么赚钱网站seo找准隐迅推
  • 营销号经典废话北京网站建设公司网站优化资讯
  • 一六八互联网站建设怎么做套版网站
  • wordpress 书站建筑公司简介范文大全
  • 建设官方网站多少鲜花网站建设的主要工作流程
  • 卖主机网站轻量wordpress主题
  • 网站建设规划书结构制作一个自己的网站
  • 外贸网站商城建设做网站和推广
  • 网站建设微信群免费简约ppt模板
  • 哈尔滨网站设计公司哪家更好shopify和wordpress
  • 岚县网站建设网站建设中效果
  • 网站建设软文推广网站建设分金手指排名十四
  • 网站建设要什么知识广州注册公司地址怎么解决
  • 自己可以做开奖网站吗wordpress和hexo
  • 成都网站关键词优化wordpress价格
  • 网站开发后端站建设 app开发网站
  • 毕业设计做网站好的想法开发网站代码量
  • 西宁网站建设排名wordpress的站点地址如何配置
  • 医院网站建设 价格app和网站开发的成本
  • 常见的网站开发工具山东建设厅官方网站李兴军
  • 二级院系网站建设情况做网站域名是什么意思
  • 网站开发双语辽宁省建设厅网站怎样下载表格
  • 网站后台密码怎么修改百度查重免费入口
  • 衡阳网站页面设计公司绍兴网站设计
  • 青岛手机建站多少钱做图表的网站 免费
  • 如何去建立和设计一个公司网站开封建设教育协会网站