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

1210随笔

今天准备复习软件设计。
先看一下以前写的代码:
// 计算机产品类
class Computer {
private String type; // 计算机类型(笔记本/台式机)
private String cpu; // CPU
private String memory; // 内存
private String hardDisk; // 硬盘
private String host; // 主机

public void setType(String type) {this.type = type;
}public void setCpu(String cpu) {this.cpu = cpu;
}public void setMemory(String memory) {this.memory = memory;
}public void setHardDisk(String hardDisk) {this.hardDisk = hardDisk;
}public void setHost(String host) {this.host = host;
}@Override
public String toString() {return type + "配置:\n" +"CPU: " + cpu + "\n" +"内存: " + memory + "\n" +"硬盘: " + hardDisk + "\n" +"主机: " + host;
}

}

// 建造者接口
interface ComputerBuilder {
void buildCPU();
void buildMemory();
void buildHardDisk();
void buildHost();
Computer getComputer();
}

// 笔记本电脑建造者
class LaptopBuilder implements ComputerBuilder {
private Computer computer = new Computer();

public LaptopBuilder() {computer.setType("笔记本电脑");
}@Override
public void buildCPU() {computer.setCpu("笔记本专用CPU(低功耗)");
}@Override
public void buildMemory() {computer.setMemory("笔记本专用DDR4内存");
}@Override
public void buildHardDisk() {computer.setHardDisk("M.2固态硬盘");
}@Override
public void buildHost() {computer.setHost("一体化笔记本主机(含显示屏)");
}@Override
public Computer getComputer() {return computer;
}

}

// 台式机建造者
class DesktopBuilder implements ComputerBuilder {
private Computer computer = new Computer();

public DesktopBuilder() {computer.setType("台式计算机");
}@Override
public void buildCPU() {computer.setCpu("台式机高性能CPU");
}@Override
public void buildMemory() {computer.setMemory("台式机DDR5内存");
}@Override
public void buildHardDisk() {computer.setHardDisk("SATA机械硬盘+NVMe固态硬盘");
}@Override
public void buildHost() {computer.setHost("独立台式机箱(含电源)");
}@Override
public Computer getComputer() {return computer;
}

}

// 指挥者类(负责组装流程)
class Director {
private ComputerBuilder builder;

public Director(ComputerBuilder builder) {this.builder = builder;
}// 组装计算机的流程
public void construct() {builder.buildCPU();builder.buildMemory();builder.buildHardDisk();builder.buildHost();
}

}

// 测试类
public class ComputerAssembly {
public static void main(String[] args) {
// 组装笔记本电脑
ComputerBuilder laptopBuilder = new LaptopBuilder();
Director laptopDirector = new Director(laptopBuilder);
laptopDirector.construct();
Computer laptop = laptopBuilder.getComputer();
System.out.println(laptop);

    System.out.println("---------------------");// 组装台式机ComputerBuilder desktopBuilder = new DesktopBuilder();Director desktopDirector = new Director(desktopBuilder);desktopDirector.construct();Computer desktop = desktopBuilder.getComputer();System.out.println(desktop);
}

}
这是建造者模式
之后还需要结合类图理解

http://www.jsqmd.com/news/69966/

相关文章:

  • 2025年安阳地区短视频运营推广推荐,5家权威服务商深度解析 - 工业推荐榜
  • 2025年中国砂光辊厂家推荐:看哪家技术实力强、产品质量优? - myqiye
  • 2025年全国抛丸机服务商排名,钢管抛丸机厂家/履带式抛丸机 - 工业品牌热点
  • 2025年口碑不错的PPT模板公司排名,信誉好的PPT模板机 - mypinpai
  • 四川柴油发电机组厂家哪家质量好?求推荐 - 朴素的承诺
  • 威榜单!2025年四川中药材种苗基地公司实力排名 - 朴素的承诺
  • 2025年上海继承律师权威精选榜单:离婚房产律所/婚姻律所/房产律所服务商推荐 - 品牌推荐官
  • 成都二手发电机组厂家推荐:2025 年客户案例榜发布 - 朴素的承诺
  • 成都 300KW 汽油发电机实力厂家推荐 ?求靠谱推荐 - 朴素的承诺
  • 深入解析:Go初级开发者的学习迷宫:AI导航下的捷径与陷阱——老码农的指南针
  • 2025年成都住人集装箱厂家推荐:靠谱服务商榜单 - 朴素的承诺
  • 2025 年热门的成都发电机行业内源头厂家排行榜 - 朴素的承诺
  • 102302145 黄加鸿 数据采集与融合技术作业4
  • 沧县农村自建房找谁好?河北省沧州市沧县自建房公司 / 机构深度评测口碑推荐榜 - 苏木2025
  • 盘点2025年:十大热门化妆品集合店加盟代理项目,排行前列的化妆品集合店加盟代理品牌怎么选择优质企业盘点及核心优势详细解读 - 品牌推荐师
  • 图标
  • 长投影
  • 2025年国内专业的粒子计数器品牌电话,在线式粒子计数器/悬浮粒子计数器/粒子计数器/尘埃粒子检测仪/空气粒子计数器粒子计数器工厂哪家好 - 品牌推荐师
  • 2025手持补光灯供应商TOP5权威推荐:甄选制造企业助力直 - mypinpai
  • 微信公众号开发定制小程序软件制作设计团购商城点餐外卖跑腿系统
  • Java 字符串替换
  • 想在沧县老家农村盖房子,靠谱的自建房公司口碑推荐。河北沧州沧县自建房公司 / 机构权威测评推荐排行榜 - 苏木2025
  • 医疗屏蔽房生产厂家哪家口碑好、实力强、信誉好? - 工业推荐榜
  • 【IEEE出版 | EI检索】第二届能源技术与电气电力国际学术会议 (ETEP 2025)
  • 2025年上海离婚房产律所权威推荐榜单:婚姻律所/继承律所/房产律所解决方案优选 - 品牌推荐官
  • 综合安防数智管理平台
  • 2025PBT磨粉机厂家全攻略:深挖10家技术派服务商 - 栗子测评
  • react 性能优化的方案
  • 2025年度中国差速轮推荐厂家排行榜:差速轮解决方案提供商与 - myqiye
  • 2025年五大专业美缝品牌企业推荐,美缝公司排名全解析 - 工业品牌热点