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

网站建站流程有哪些网络推广方案范例

网站建站流程有哪些,网络推广方案范例,网站首页模板怎么做策划,辽宁建设信息网站设计模式--建造者模式 builder)建造者模式简介建造者模式--小例子(电脑购买)1.产品类2.抽象构建者3.实体构建类4.指导者类5.客户端测试类小结建造者模式简介 建造者模式有四个角色,概念划分如下: Product : 产品类&a…

设计模式--建造者模式 builder)

  • 建造者模式简介
  • 建造者模式--小例子(电脑购买)
    • 1.产品类
    • 2.抽象构建者
    • 3.实体构建类
    • 4.指导者类
    • 5.客户端测试类
  • 小结

建造者模式简介

建造者模式有四个角色,概念划分如下:

  • Product : 产品类,最终要生成的对象(例如:一台电脑)。
  • Builder :构建者的抽象基类或则抽象接口。定义了Product产品的生产流程的抽象步骤(比如一台电脑可以在出厂的时候就将所有外设配件搭载齐全,也可以只是原装的一台电脑,外设需要自己从别的地方购买)。
  • ConcreteBuilder :Builder的实现类。
  • Direcotr : 决定如何构建最终产品的算法逻辑,多个方法Construct(Builder builder){//方法体}(例如:你是要买一台外设齐全的电脑,还是一台没有任何外设的原装电脑),最后通过Builder.getProduct()获得最终的产品。

类图如下(直接将韩老师的图拿过来了):
在这里插入图片描述

建造者模式–小例子(电脑购买)

购买一台电脑,可以买完整的包括所有外设的电脑,也可以买只有电脑本身无任何外设配件的电脑(且电脑品牌很多,联想华硕,可以自行选择电脑的cpu和主板,若买外设配件时,则根据购买电脑品牌来添加对应品牌外设)。
在这里插入图片描述

1.产品类

电脑CPU和主板都为必选,其余外设可不选。

package com.robin.builder;// 一台完整的电脑产品
public class Computer {private String cpu; // cpu 必选private String mouse; // 鼠标 可选private String monitor; // 屏幕显示器 可选private String keyBoard; // 键盘 可选private String mainBoard; // 主板 必选// cpu和主板为必选,其余配件可以自行选择public Computer(String cpu, String mainBoard) {this.cpu = cpu;this.mainBoard = mainBoard;}// 对可选的配件提供setter方法public void setMouse(String mouse) {this.mouse = mouse;}public void setMonitor(String monitor) {this.monitor = monitor;}public void setKeyBoard(String keyBoard) {this.keyBoard = keyBoard;}@Overridepublic String toString() {return "Computer{" +"cpu='" + cpu + '\'' +", mouse='" + mouse + '\'' +", monitor='" + monitor + '\'' +", keyBoard='" + keyBoard + '\'' +", mainBoard='" + mainBoard + '\'' +'}';}
}

2.抽象构建者

抽象构建者:

package com.robin.builder;// 抽象构建者
public abstract class ComputerBuilder {public abstract Computer getComputer();public abstract void setMouse();public abstract void setMonitor();public abstract void setKeyBoard();}

3.实体构建类

两个不同品牌的电脑实体构建类:

联想:

package com.robin.builder;// 品牌电脑实体构建者类
public class LenovoComputerBuilder extends ComputerBuilder{private Computer computer;public LenovoComputerBuilder(String cpu, String mainBoard) {computer = new Computer(cpu, mainBoard);}@Overridepublic Computer getComputer() {return computer;}@Overridepublic void setMouse() {computer.setMouse("[lenovo]鼠标");}@Overridepublic void setMonitor() {computer.setMonitor("[lenovo]240Hz高刷显示器");}@Overridepublic void setKeyBoard() {computer.setKeyBoard("[lenovo]机械键盘");}
}

华硕:

package com.robin.builder;public class ASUSComputerBuilder extends ComputerBuilder{private Computer computer;public ASUSComputerBuilder(String cpu,String mainBoard) {computer = new Computer(cpu, mainBoard);}@Overridepublic Computer getComputer() {return computer;}@Overridepublic void setMouse() {computer.setMouse("[华硕]鼠标");}@Overridepublic void setMonitor() {computer.setMonitor("[华硕]显示屏");}@Overridepublic void setKeyBoard() {computer.setKeyBoard("[华硕]机械键盘");}
}

4.指导者类

通过两个方法来确定,创建(购买)何种类型包含何种配件。

package com.robin.builder;public class ComputerDirector {// 包含所有完整配件的电脑public void buyCompleteComputer(ComputerBuilder computerBuilder){computerBuilder.setMouse();computerBuilder.setKeyBoard();computerBuilder.setMonitor();}// 无配件的电脑public void buyNoAcesComputer(ComputerBuilder computerBuilder){}
}

5.客户端测试类

package com.robin.builder;public class Main {public static void main(String[] args) {// 1.创建指挥者ComputerDirector computerDirector = new ComputerDirector();// 2.创建实体构造者LenovoComputerBuilder lenovoComputerBuilder = new LenovoComputerBuilder("i9", "QDI");// 3.指挥者调用构造者去设定电脑配件computerDirector.buyCompleteComputer(lenovoComputerBuilder);// 4.获取电脑产品Computer computer1 = lenovoComputerBuilder.getComputer();// 5.输出System.out.println(computer1);// 购买一台华硕电脑,其cpu为i7,主板为华硕,其余配件不进行选择ASUSComputerBuilder asusComputerBuilder = new ASUSComputerBuilder("i7", "华硕");computerDirector.buyNoAcesComputer(asusComputerBuilder);Computer computer2 = asusComputerBuilder.getComputer();System.out.println(computer2);}
}

在这里插入图片描述

小结

建造者模式是设计模式中创建型的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

建造者模式实用范围:

  • 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。
  • 当构造过程必须允许被构造的对象有不同表示时

tip: 当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。


http://www.hkea.cn/news/28243/

相关文章:

  • 东莞网站建设企慕简述如何优化网站的方法
  • 可以做网站的公司seo外包
  • 自己怎么做网站视频赚钱5g网络优化培训
  • 数据库修改网站管理员密码seo网站有优化培训吗
  • 福田做商城网站建设找哪家公司好抖音怎么运营和引流
  • 厘米售卡站怎么做网站禁止搜索引擎收录的方法
  • 网站首页滚动图片怎么做谷歌搜索关键词排名
  • 嵩县网站开发友情链接获取的途径有哪些
  • 国家企业信息公示网(广东)海南快速seo排名优化
  • 高端网站设计 上海徐州seo排名公司
  • 泰安网站建设公司排名石家庄最新消息
  • 域名只做邮箱没网站要备案吗常见的网络推广方式包括
  • 昆山建设局网站360搜索首页
  • 正常做网站多少钱无锡网站制作无锡做网站
  • php做网站csdn网站seo公司哪家好
  • 今日头条建站工具何鹏seo
  • wordpress 培训模板优化落实疫情防控新十条
  • 关于做外汇现货的网站太原整站优化排名外包
  • 星悦做任务网站是新网站百度收录
  • 十大营销网站seo关键词查询工具
  • 怎么查询网站所有关键词靠谱的广告联盟
  • 超酷的网站设计磁力搜索引擎
  • 网站建设写程序用什么软件成都疫情最新消息
  • 做网站需要什么资金2022今天刚刚发生地震了
  • 建设网站费用主要包括哪些google商店
  • 专注邯郸建设手机网站贴吧友情链接在哪
  • 网站备案拍照背景志鸿优化网官网
  • 网站百度知道怎么做推广网站搜索引擎优化的方法
  • 网站建设注意哪些问题sem和seo是什么职业岗位
  • 一_建设网站前的市场分析奶茶软文案例300字