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

在自己网站做支付可以吗现在最火的推广平台有哪些

在自己网站做支付可以吗,现在最火的推广平台有哪些,广州市医院网站建设哪家好,c 语言做网站文章目录 1、建造者模式2、案例:共享单车的创建3、其他用途 1、建造者模式 某个对象的构建复杂将复杂的对象的创建 和 属性赋值所分离,使得同样的构建过程可以创建不同的表示建造的过程和细节调用者不需要知道,只需要通过构建者去进行操作 …

文章目录

  • 1、建造者模式
  • 2、案例:共享单车的创建
  • 3、其他用途

1、建造者模式

  • 某个对象的构建复杂
  • 将复杂的对象的创建 和 属性赋值所分离,使得同样的构建过程可以创建不同的表示
  • 建造的过程和细节调用者不需要知道,只需要通过构建者去进行操作

如,主机这个负责对象的构建,分离承诺内存条、主板这些部件,再组装构建。内存条替换一个别的,出来就是一个不同的对象。

在这里插入图片描述

建造者模式相关角色:

  • 产品类:复杂对象,主机
  • 抽象建造者类Builder:规定要实现复杂对象的哪些部件的创建
  • 具体建造者类ConcreteBuilder:实现Builder,完成各个部件的具体创建
  • 指挥者类Director:保证对象的各个部分按照某种顺序创建

在这里插入图片描述

2、案例:共享单车的创建

摩拜单车和ofo单车。Bike是产品,包含车架,车座等组件;Builder是抽象建造者,MobikeBuilder和OfoBuilder是具体的建造者,Director是指挥者。

在这里插入图片描述
具体的代码如下:

//自行车类
@Data
public class Bike {private String frame;  //车架private String seat;   //座椅}

抽象构建者Builder定义哪些部分要构建:

// 抽象 builder 类
public abstract class Builder {protected Bike mBike = new Bike();public abstract void buildFrame();   //构建车架public abstract void buildSeat();    //构建座椅public abstract Bike createBike();   //构建自行车}

写具体的构建者:

//摩拜单车Builder类
public class MobikeBuilder extends Builder {@Overridepublic void buildFrame() {mBike.setFrame("铝合金车架");}@Overridepublic void buildSeat() {mBike.setSeat("真皮车座");}@Overridepublic Bike createBike() {return mBike;}
}
//ofo单车Builder类
public class OfoBuilder extends Builder {@Overridepublic void buildFrame() {mBike.setFrame("碳纤维车架");}@Overridepublic void buildSeat() {mBike.setSeat("橡胶车座");}@Overridepublic Bike createBike() {return mBike;}
}

指挥者类:

//指挥者类
public class Director {private Builder mBuilder;   //声明Builder类型的变量public Director(Builder builder) {mBuilder = builder;}//组装自行车的方法public Bike construct() {mBuilder.buildFrame();mBuilder.buildSeat();return mBuilder.createBike();}
}

客户端测试:

public class Client {public static void main(String[] args) {showBike(new OfoBuilder());showBike(new MobikeBuilder());}private static void showBike(Builder builder) {Director director = new Director(builder);   //创建指挥者Bike bike = director.construct();   //让指挥者指挥组装System.out.println(bike.getFrame());System.out.println(bike.getSeat());}
}

再有新的单车公司加入,只需实现一个新的建造者类即可,符合开闭原则。但如果创建的产品组成部分差异很大,则不适合用建造者模式,比如要再造个电脑对象。

3、其他用途

@Setter
@Getter
public class Phone {private String cpu;private String screen;private String memory;private String mainboard;public Phone(String cpu, String screen, String memory, String mainboard) {this.cpu = cpu;this.screen = screen;this.memory = memory;this.mainboard = mainboard;}
}

对于属性多的对象,创建其对象往往可读性很差,如:

//构建Phone对象
Phone phone = new Phone("intel","三星屏幕","金士顿","华硕");

重构一下(@Builder注解的思路):

public class Phone {private String cpu;private String screen;private String memory;private String mainboard;//私有的构造方法private Phone(Builder builder) {cpu = builder.cpu;screen = builder.screen;memory = builder.memory;mainboard = builder.mainboard;}public static final class Builder {private String cpu;private String screen;private String memory;private String mainboard;public Builder() {}public Builder cpu(String val) {cpu = val;return this;}public Builder screen(String val) {screen = val;return this;}public Builder memory(String val) {memory = val;return this;}public Builder mainboard(String val) {mainboard = val;return this;}//!!!!!public Phone build() {return new Phone(this);}}@Overridepublic String toString() {return "Phone{" +"cpu='" + cpu + '\'' +", screen='" + screen + '\'' +", memory='" + memory + '\'' +", mainboard='" + mainboard + '\'' +'}';}
}

此时就可链式编程创建这个对象(new Phone.Builder()创建静态内部类对象):

public class Client {public static void main(String[] args) {Phone phone = new Phone.Builder().cpu("intel").mainboard("华硕主板").memory("金士顿内存").screen("三星屏幕").build();System.out.println(phone);}
}
http://www.yidumall.com/news/37709.html

相关文章:

  • 台州网站设计aso排名优化知识
  • 视频网站用什么做安全优化大师
  • vi设计 站酷网络平台怎么创建需要多少钱
  • 成都php网站建设北京网站建设公司案例
  • 做优化网站注意什么杭州seo公司
  • 网站商城支付接口百度自动点击器
  • 广西城乡建设网站企业营销网站制作
  • 2023青岛疫情最新消息今天什么是sem和seo
  • 推广网站的文案收录批量查询
  • 那些网站是php开发的百度打广告怎么收费
  • 做英文网站的标准字体唯尚广告联盟app下载
  • 大淘客怎么自己做网站seo外包公司优化
  • 厦门软件网站建设基本seo技术在线咨询
  • 部门做网站优点关键词优化系统
  • 什么网站可以免费做视频的软件下载自助快速建站
  • 推广步骤苏州关键词seo排名
  • 网站更新提示ui怎末做关键词分为哪三类
  • 外贸网站如何推广优化seo技术服务外包公司
  • 网站建设费计入什么科目市场营销方案
  • 公司网站的具体步骤网站seo需要用到哪些工具
  • 哪个网站可以做条形码百度收录网站链接入口
  • 宁波做日用品外贸公司网站网站优化 福州
  • 建设项目环保验收平台网站西安互联网推广公司
  • 南通移动网站建设今日热点新闻事件2022
  • 网站建设合同英文版汽车网络营销推广方案
  • 石家庄网站建设报价一站式快速网站排名多少钱
  • 重庆市园林建设有限公司网站代推广平台
  • 网页页面设计图片教程企业网站优化的三层含义
  • 北京城建道桥建设有限公司网站西安网站seo价格
  • 佛山网站推广重庆seo整站优化