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

外贸网站优化服务做外贸怎么连接国外网站

外贸网站优化服务,做外贸怎么连接国外网站,网站适合用angular做吗,网页设计答辩流程系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用…

系列文章目录

设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列
设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点
设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用场景和优缺点。
设计模式之模板方法模式,通俗易懂快速理解,以及模板方法模式的使用场景
设计模式之-建造者模式通俗易懂理解,以及建造者模式的使用场景和示列代码
设计模式之-代理模式,快速掌握理解代理模式,以及代理模式的使用场景
设计模式之-原型模式,快速掌握原型模式,通俗易懂的理解原型模式以及使用场景
设计模式之-中介者模式,快速掌握中介者模式,通俗易懂的讲解中介者模式以及它的使用场景
设计模式之-责任链模式,快速掌握责任链模式,通俗易懂的讲解责任链模式以及它的使用场景
设计模式之-装饰模式,快速掌握装饰模式,通俗易懂的讲解装饰模式以及它的使用场景


文章目录

  • 系列文章目录
  • 什么是建造者模式?
  • 建造者模式通常涉及以下几个角色
    • 产品(Product):
    • 抽象建造者(Builder):
    • 具体建造者(Concrete Builder):
    • 指导者(Director):
    • 客户端(Client):
  • 建造者模式适用于以下场景
  • 代码示例


什么是建造者模式?

建造者模式是一种创建型设计模式,它可以将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。它允许客户端通过指定需要创建的对象类型和配置选项来构建对象,而无需知道具体的构建细节。

使用建造者模式的主要目的是将对象的构建过程封装在一个独立的建造者类中,使得构建过程可以灵活地组合,而不需要对客户端暴露具体的构建细节。这样可以提高代码的可读性、可维护性和可扩展性。

建造者模式通常涉及以下几个角色

产品(Product):

表示要构建的复杂对象。通常包含多个属性,其构建过程由具体的建造者来完成。

抽象建造者(Builder):

定义了构建产品的抽象方法,以及设置产品属性的方法。不同的具体建造者可以实现不同的构建算法,以及根据需要设置不同的产品属性。

具体建造者(Concrete Builder):

实现了抽象建造者的方法,完成具体的产品构建和属性设置。

指导者(Director):

负责调用建造者的方法来构建产品。它通常包含一个构建方法,用于指导建造过程的顺序和逻辑。

客户端(Client):

创建指导者对象,并通过指导者来构建产品。

建造者模式适用于以下场景

  1. 当需要创建复杂对象时,且对象的构建过程需要独立于其表示时,可以使用建造者模式。例如,当 构建一个具有多个组件的电脑时,每个组件的构建过程可能不同,但最终的电脑表示是一样的。
  2. 当需要使用相同的构建过程创建不同的表示时,可以使用建造者模式。例如,使用相同的构建过程可以创建不同类型的飞机,只需在具体建造者中设置不同的属性。
  3. 当需要将构建过程和表示分离,以便能够灵活地组合不同的构建过程和表示时,可以使用建造者模式。例如,可以通过组合不同的建造者和产品来构建复杂的对象。

代码示例

下面是一个实现的建造者模式示例,以创建一个电脑为例:

// 产品类:电脑
class Computer {private String cpu;private String memory;private String hardDrive;// 设置cpupublic void setCpu(String cpu) {this.cpu = cpu;}// 设置内存public void setMemory(String memory) {this.memory = memory;}// 设置硬盘public void setHardDrive(String hardDrive) {this.hardDrive = hardDrive;}// 显示电脑配置public void showConfiguration() {System.out.println("Computer Configuration:");System.out.println("CPU: " + cpu);System.out.println("Memory: " + memory);System.out.println("HardDrive: " + hardDrive);}
}// 抽象建造者
interface ComputerBuilder {void buildCpu();void buildMemory();void buildHardDrive();Computer getComputer();
}// 具体建造者:台式机建造者
class DesktopBuilder implements ComputerBuilder {private Computer computer;public DesktopBuilder() {computer = new Computer();}@Overridepublic void buildCpu() {computer.setCpu("Intel Core i7");}@Overridepublic void buildMemory() {computer.setMemory("16GB DDR4");}@Overridepublic void buildHardDrive() {computer.setHardDrive("1TB SSD");}@Overridepublic Computer getComputer() {return computer;}
}// 具体建造者:笔记本建造者
class LaptopBuilder implements ComputerBuilder {private Computer computer;public LaptopBuilder() {computer = new Computer();}@Overridepublic void buildCpu() {computer.setCpu("Intel Core i5");}@Overridepublic void buildMemory() {computer.setMemory("8GB DDR4");}@Overridepublic void buildHardDrive() {computer.setHardDrive("512GB SSD");}@Overridepublic Computer getComputer() {return computer;}
}// 指导者:电脑商店
class ComputerStore {private ComputerBuilder computerBuilder;public void setComputerBuilder(ComputerBuilder computerBuilder) {this.computerBuilder = computerBuilder;}public Computer getComputer() {computerBuilder.buildCpu();computerBuilder.buildMemory();computerBuilder.buildHardDrive();return computerBuilder.getComputer();}
}// 客户端代码
public class Main {public static void main(String[] args) {ComputerStore computerStore = new ComputerStore();// 构建台式机ComputerBuilder desktopBuilder = new DesktopBuilder();computerStore.setComputerBuilder(desktopBuilder);Computer desktopComputer = computerStore.getComputer();desktopComputer.showConfiguration();// 构建笔记本ComputerBuilder laptopBuilder = new LaptopBuilder();computerStore.setComputerBuilder(laptopBuilder);Computer laptopComputer = computerStore.getComputer();laptopComputer.showConfiguration();}
}

在上面的示例中,Computer是要构建的产品,它包含了cpu、内存和硬盘等属性。ComputerBuilder是抽象建造者,定义了构建产品的抽象方法和获取产品的方法。DesktopBuilder和LaptopBuilder是具体建造者,它们分别实现了抽象建造者的方法,完成了具体的产品构建和属性设置。ComputerStore是指导者,负责调用建造者的方法来构建产品。
客户端代码中,首先创建一个ComputerStore对象,并设置相应的建造者。然后,通过调用getComputer方法来获取构建完成的产品,并进行展示。
通过使用建造者模式,客户端可以通过指定需要创建的对象类型和配置选项来构建对象,而无需知道具体的构建细节。建造者模式将复杂对象的构建过程与其表示分离,使得构建过程可以灵活地组合,提高了代码的可读性、可维护性和可扩展性。

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

相关文章:

  • 湖北省住房建设厅网站网站上传该怎么做
  • 中国制造网内贸站邯郸做网站公司哪家好
  • 装饰公司怎么做微网站wordpress群站域名
  • 桂林建设信息网站网络营销的概念是什么
  • 公司外贸网站怎么做微博营销的定义
  • 开发一个icp网站需要多少钱网站flash
  • 给企业开发网站注册公司哪个网站
  • 做任务的网站源码郑州做网站报价站域名多少钱
  • 行业做门户网站挣钱吗滨州网站建设制作
  • led 网站建设兰山做网站
  • 玉山县住房城乡建设局网站wordpress自定义内容插件
  • 贝尔利网站四川网络推广公司哪家好
  • 深圳华企网站建设福田做棋牌网站建设找哪家效益快
  • 山东聊城建设学校网站国外单栏wordpress
  • 用网站做数据库怎么自己创建一个平台
  • 如何给一个网站做定时的更新WordPress go.php 代码
  • 邵阳市城乡建设厅网站免费推广项目发布平台
  • 网站 逻辑结构印刷 技术支持 东莞网站建设
  • windows 2008 搭建网站河北建设部官方网站
  • 教育培训网站大全手机端h5
  • 大连网站策划四川旅游攻略自由行攻略
  • 网站开发市场价公司介绍ppt范例内容
  • thinkphp网站开发服务器怎么申请域名邮箱
  • 哪些网站可以做一些任务挣钱无锡手机网站建设报价
  • 网络宣传网站建设价格环球网最新新闻
  • 资源网站自己建设还是发软文东莞厚街核酸检测点
  • 网站开发和ipv6房产网站设计模板
  • 湛江网站建设低价推荐网站开发如何建设公共页面
  • 使用代理服务器后看什么网站计算机网络规划与设计
  • 石材网站模板苏州交通网站建设