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

整站建设和网站优化怎么创建私人网站

整站建设和网站优化,怎么创建私人网站,网站开发项目实例,wordpress改为java开发建造者模式 (将一个 复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。) 建造者模式是一种创建型的模式,有一些对象的创建过程new 是很繁杂的。 什么时候去使用建造者模式 由上文可以得出在一些对象创建…

建造者模式

(将一个 复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。) 

建造者模式是一种创建型的模式,有一些对象的创建过程new 是很繁杂的。

什么时候去使用建造者模式

由上文可以得出在一些对象创建非常繁杂的场景就可以使用建造者模式。指定创建顺序以免出错。

还有一种场景。可能产品细节会改变。比如升级了第二代。这时候只需要重新定义一个具体的建造者就可以了。方便于扩展。

建造者模式与工厂模式的不同:

建造者模式最主要的功能是基本方法的调用顺序安排,这些基本方法已经实现了, 顺序不同产生的对象也不同; 工厂方法则重点是创建,创建零件是它的主要职责,组装顺序则不是它关心的。

 

@Builder 注解用了建造者模式。

 代码:

1 . 建造对象

/*** 肯德基的套餐(fond+drink)* @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.yidumall.com/news/6942.html

相关文章:

  • 网站建设sem怎么做如何提交百度收录
  • 网站定制开发需要什么资质吸引人的营销标题
  • 网站可以用什么做阳江网站建设
  • 网站怎么做收费微博推广平台
  • 北京做网站的公司有哪些免费海报模板网站
  • 中国最大的网站适合奖励自己的网站免费
  • 黄金网软件app大全下载宁波网站建设优化企业
  • 网站建站流程图在哪里找专业推广团队
  • 论坛类网站可以做移动端吗口碑营销是什么意思
  • 数据机房建设公司百色seo外包
  • fr后缀网站网络推广策划
  • 动态网站开发所需要的web构件哪里可以学网络运营和推广
  • 个人业务网站建设济南搜索引擎优化网站
  • akcms做的网站新闻头条新闻
  • 安康网站建设公司电话用网站模板建站
  • 哈尔滨做网站链接购买平台
  • 建站程序员招聘网络培训心得体会
  • 手机免费自建网站长沙sem培训
  • 网站源码html免费刷粉网站推广
  • 日照做网站的公司百度指数怎么下载
  • 网络服务器的分类seo搜索引擎优化书籍
  • 排名优化关键词公司免费网站建设seo
  • 大连虚拟主机seo搜索引擎优化工资薪酬
  • 广西明电建设有限公司网站苏州网站制作
  • 网站开发是哪个广点通
  • 大连哪家网站做的好如何做谷歌seo推广
  • 网站服务器排名百度大数据
  • 安平做网站做推广电话英文网站seo
  • 宝鸡网站建设方案百度爱采购官方网站
  • 怎么看网站开发用的语言网络推广方案怎么写