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

网站建设 优惠免费做推广的网站有哪些

网站建设 优惠,免费做推广的网站有哪些,网站产品图怎么做的,口碑营销策划方案使用多个简单的对象一步一步构建成一个复杂的对象 主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部…

使用多个简单的对象一步一步构建成一个复杂的对象

主要解决:主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相对稳定

何时使用:一些基本部件不会变,而其组合经常变化的时候。

应用实例: 1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐"。 2、JAVA 中的 StringBuilder。

使用场景: 1、需要生成的对象具有复杂的内部结构。 2、需要生成的对象内部属性本身相互依赖。

建造者模式在创建复杂对象时非常有用,特别是当对象的构建过程涉及多个步骤或参数时。它可以提供更好的灵活性和可维护性,同时使得代码更加清晰可读。

注意事项:与工厂模式的区别是:建造者模式更加关注与零件装配的顺序。

我们假设一个快餐店的商业案例,其中,一个典型的套餐可以是一个汉堡(Burger)和一杯冷饮(Cold drink)。汉堡(Burger)可以是素食汉堡(Veg Burger)或鸡肉汉堡(Chicken Burger),它们是包在纸盒中。冷饮(Cold drink)可以是可口可乐(coke)或百事可乐(pepsi),它们是装在瓶子中。

我们将创建一个表示食物条目(比如汉堡和冷饮)的 Item 接口和实现 Item 接口的实体类,以及一个表示食物包装的 Packing 接口和实现 Packing 接口的实体类,汉堡是包在纸盒中,冷饮是装在瓶子中。

然后我们创建一个 Meal 类,带有 Item 的 ArrayList 和一个通过结合 Item 来创建不同类型的 Meal 对象的 MealBuilderBuilderPatternDemo 类使用 MealBuilder 来创建一个 Meal

 

public interface Item {String name();Packing packing();float price();
}public interface Packing {String pack();
}public class Wrapper implements Packing{@Overridepublic String pack() {return "Wrapper";}
}public class Bottle implements Packing{@Overridepublic String pack() {return "Bottle";}
}public abstract class Burger implements Item {@Overridepublic Packing packing() {return new Wrapper();}@Overridepublic abstract float price();
}public abstract class ColdDrink implements Item {@Overridepublic Packing packing() {return new Bottle();}@Overridepublic abstract float price();
}public class VegBurger extends Burger {@Overridepublic float price() {return 25.0f;}@Overridepublic String name() {return "Veg Burger";}
}public class ChickenBurger extends Burger {@Overridepublic float price() {return 50.5f;}@Overridepublic String name() {return "Chicken Burger";}
}public class Coke extends ColdDrink {@Overridepublic float price() {return 30.0f;}@Overridepublic String name() {return "Coke";}
}public class Pepsi extends ColdDrink {@Overridepublic float price() {return 35.0f;}@Overridepublic String name() {return "Pepsi";}
}public class Meal {private List<Item> items = new ArrayList<Item>();    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());}        }    
}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;}
}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("Non-Veg Meal");nonVegMeal.showItems();System.out.println("Total Cost: " +nonVegMeal.getCost());}
}

http://www.yayakq.cn/news/612116/

相关文章:

  • 网站如何做收款二维码活动软文怎么写
  • 平度网站建设惠州人才网
  • 武强网站建设环保局 网站建设
  • 做外贸的数据网站扬州网站建设哪家好
  • seo网站优化方html做网站标题的代码
  • 孵化基地网站怎么建设电子商务网站建设的发展趋势
  • 网站建设行业发展史wordpress 儿童主题
  • 做写手一般上什么网站好南京广告公司地址
  • 网站子域名怎么设置专门做顶账房的网站
  • 建筑公司网站大全县级门户网站建设的报告
  • 视频直播网站怎么做线上营销怎么推广
  • 广州seo建站河北省建设工程信息网首页
  • 自己做网站需要收费吗哈尔滨网络公司平台
  • 网站建设ppt百度文库神马网站快速排名软件
  • wordpress整站安装wordpress设置权限设置方法
  • 做外贸网站的公司广告开户
  • 网站推广包年建安培训官网
  • 抚养网站建设一级做爰片a视频网站试看
  • 公司展厅设计费沈阳seo优化排名公司
  • 用树莓派做网站服务器好吗网站做qq链接代码
  • 网站建网站建设专业黑龙江建设网官
  • 重庆网站推广机构深圳做网站乐云seo598
  • 个体户怎么做购物网站seo课程培训学校
  • 12306网站如何做火车票候补汉邦未来网站开发有限公司
  • 以家乡为主题做网站WordPress文章相似推荐
  • 紫竹桥网站建设百度推广电话销售话术
  • dw进行网站建设包含哪些步骤免费网页制作成品
  • 顺义区专业网站制作网站建设wordpress 获取
  • 建行网站网址是多少陕西网站开发
  • 入驻京东需要自己做网站吗长春网络优化最好的公司