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

陕西省交通建设集团公司门户网站维护公司网站建设

陕西省交通建设集团公司门户网站,维护公司网站建设,北京云建站模板,网络举报网站建造者模式 #xff08;将一个 复杂对象的构建与它的表示分离#xff0c;使得同样的构建过程可以创建不同的表示。#xff09; 建造者模式是一种创建型的模式#xff0c;有一些对象的创建过程new 是很繁杂的。 什么时候去使用建造者模式 由上文可以得出在一些对象创建…建造者模式 将一个 复杂对象的构建与它的表示分离使得同样的构建过程可以创建不同的表示。  建造者模式是一种创建型的模式有一些对象的创建过程new 是很繁杂的。 什么时候去使用建造者模式 由上文可以得出在一些对象创建非常繁杂的场景就可以使用建造者模式。指定创建顺序以免出错。 还有一种场景。可能产品细节会改变。比如升级了第二代。这时候只需要重新定义一个具体的建造者就可以了。方便于扩展。 建造者模式与工厂模式的不同 建造者模式最主要的功能是基本方法的调用顺序安排这些基本方法已经实现了 顺序不同产生的对象也不同 工厂方法则重点是创建创建零件是它的主要职责组装顺序则不是它关心的。 Builder 注解用了建造者模式。 代码 1 . 建造对象 /*** 肯德基的套餐fonddrink* author WHM**/ public class Product {private String food;private String drink;public String getFood() {return food;}public String getDrink() {return drink;}public void setFood(String food) {this.food food;}public void setDrink(String drink) {this.drink drink;} }2 产品扩展 public class MealA extends MealBuilder{Overridepublic void buildFood() {pro.setFood(牛肉汉堡);}Overridepublic void buildDrink() {pro.setDrink(可口可乐);}} public class MealB extends MealBuilder{Overridepublic void buildFood() {pro.setFood(鸡翅鸡腿);}Overridepublic void buildDrink() {pro.setDrink(牛奶);}}3 抽象建造者用于扩展 /*** 抽象建造者用于扩展* author WHM**/ public abstract class MealBuilder {Product pro new Product();public abstract void buildFood();public abstract void buildDrink();public Product getProcdut() {return pro;}}4 建造类 /*** 指挥生产套餐* * author WHM**/ public class MealDirector {private MealBuilder mealBuilder;//传入构造器中public MealDirector(MealBuilder mealBuilder) {this.mealBuilder mealBuilder;}public Product combine() {mealBuilder.buildDrink();mealBuilder.buildFood();return mealBuilder.getProcdut();} } 5 测试 package pattern.builder;/*** 1.建造者是对一个复杂对象的分解. 2.1抽象工厂模式实现对产品家族的创建:具有不同分类维度的产品组合;* 2.2它的主要目的是通过组装零配件而产生一个新产品 3.Product产品角色一个具体的产品对象(分解)。* Builder抽象建造者创建一个Product对象的各个分解部件指定的抽象接口。* ConcreteBuilder具体建造者实现抽象接口构建和装配各个部件。 Director指挥者构建一个使用Builder接口的对象松偶。* * 4.用户只需要传入我想生产的套餐并不需要关心套餐生产过程* author WHM**/ public class TMain {public static void main(String[] args) {// 套餐AMealA a new MealA();// 准备套餐A的服务员MealDirector waiter new MealDirector(a);// 获得套餐Product mealA waiter.combine();System.out.print(套餐A的组成部分:);System.out.println(食物 mealA.getFood() 饮品 mealA.getDrink());} }引入 import lombok.Builder;获取对象就可以用builder不在是new如果10几个直接设置属性值就行。
http://www.eeditor.cn/news/124175/

相关文章:

  • 西部网站域名出售wordpress qq登入设置
  • 怎么做网站分站做网站平台的公司
  • 网站开发费用wordpress企业主题模板
  • vue大型网站开发弄美团网站的一般一个做赚多少钱
  • 关于网站开发的那个网站可以做学历认证
  • 象山住房和城乡建设局网站新赣州房产网
  • 国外怎么做直播网站吗淘宝做网站的店
  • wap手机网站制作高端网站案例欣赏
  • 网站建设店铺软件工程名词解释
  • 网站建设飠金手指排名十三织梦 网站图标
  • 宣城公司网站建设免费网址申请
  • 网站开发需要什么文凭商城前端模板
  • 大连建设学校网站院长药品招采网站建设费用
  • 仿网站建设百度seo排名原理
  • 济南网站建设工作室安徽建设工程信息网文件
  • 苏州市相城区住房和城乡建设局网站网站的服务器怎么做
  • 廊坊小程序公司河源市seo点击排名软件价格
  • 做问卷调查的网站有哪些内容小程序在建网站吗
  • 做网站时给图片添加链接花生壳软件做的网站
  • 有没关于做动画设计师的网站企业查询宝官网
  • 找人做网站注意什么网上注册公司app
  • 使用element做的网站建设银行人力资源招聘网站
  • 有没有帮别人做创意的网站广州服务类拓客软件
  • 如何优化网站图片安卓手机优化
  • 商务网站建设有哪几个步骤vue 大型网站开发
  • 有了域名之后怎么做自己的网站seo免费优化网站
  • 做网站域名怎么选有利于seophp做一个网站
  • 四川省住房和城乡建设局网站首页网站建设公司文案
  • 网站 数据库 模板wordpress获取分类列表和分页
  • 虚拟机做网站服务常见电子商务网站基本模式