当前位置: 首页 > 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.rkmt.cn/news/80524.html

相关文章:

  • 2025年安阳地区短视频运营推广推荐,5家权威服务商深度解析 - 工业推荐榜
  • 四川柴油发电机组厂家哪家质量好?求推荐 - 朴素的承诺
  • 深入解析:Go初级开发者的学习迷宫:AI导航下的捷径与陷阱——老码农的指南针
  • 成都二手发电机组厂家推荐:2025 年客户案例榜发布 - 朴素的承诺
  • 成都 300KW 汽油发电机实力厂家推荐 ?求靠谱推荐 - 朴素的承诺
  • 长投影
  • 2025年国内专业的粒子计数器品牌电话,在线式粒子计数器/悬浮粒子计数器/粒子计数器/尘埃粒子检测仪/空气粒子计数器粒子计数器工厂哪家好 - 品牌推荐师
  • 2025手持补光灯供应商TOP5权威推荐:甄选制造企业助力直 - mypinpai
  • Java 字符串替换
  • 【IEEE出版 | EI检索】第二届能源技术与电气电力国际学术会议 (ETEP 2025)
  • react 性能优化的方案
  • 2025年五大专业美缝品牌企业推荐,美缝公司排名全解析 - 工业品牌热点
  • 2025年度五大食用菌机械设备资深厂商排行榜,新测评精选食用 - 工业推荐榜
  • 2025年电磁吸盘优质供应商TOP5推荐,专业电磁吸盘生产厂 - mypinpai
  • 2025年度菌袋分离机制造商推荐排行榜,专业菌袋分离机制造商 - 工业推荐榜
  • C++学习笔记01 VisualStudio设置和引用概念
  • 2025年上海房产继承律师权威推荐榜单:离婚律师/婚姻律师/继承律师源头服务商精选 - 品牌推荐官
  • linux异常磁盘lvm恢复---惜分飞
  • 编程课适合多大孩子学?一篇文章讲清楚
  • 2025实力强的美缝企业TOP5权威推荐:口碑好的美缝机构甄 - mypinpai
  • 2025年度陶坛创新型厂家TOP5权威推荐:深度测评甄选优质 - myqiye
  • 2025年评价高的断桥铝系统门窗最新品牌厂商榜(更新版) - 行业平台推荐
  • 2025年12月兰州餐桌椅厂家综合推荐:5家实力厂商深度解析 - 2025年11月品牌推荐榜
  • 深入解析:Node.js 开发实战:从入门到精通
  • 海泡石交货周期多久?哪家的交货速度快且品质好? - mypinpai
  • 2025年知名的亚克力产品定制广告牌热门厂家排行TOP(权威版) - 品牌宣传支持者
  • LNMP拓展多台WEB——解决访问速度慢、单台故障导致业务down机、业务稳定运行
  • 多系统集成分析——ERP与OA、PLM、MES、CRM、WMS、SRM、HR
  • 2025年光颉电阻正规厂家推荐:国内五大光颉电阻制造商有哪些 - 工业推荐榜
  • 2025杭州出口退税代理公司特色盘点 - 栗子测评