尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

1210随笔

1210随笔
📅 发布时间:2026/6/26 18:50:44

今天准备复习软件设计。
先看一下以前写的代码:
// 计算机产品类
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);
}

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

相关新闻

  • 2025年安阳地区短视频运营推广推荐,5家权威服务商深度解析 - 工业推荐榜
  • 四川柴油发电机组厂家哪家质量好?求推荐 - 朴素的承诺
  • 深入解析:Go初级开发者的学习迷宫:AI导航下的捷径与陷阱——老码农的指南针

最新新闻

  • Nintendo Switch游戏文件管理终极指南:用NSC_BUILDER轻松管理你的游戏库
  • 计算机毕业设计之基于微信小程序的云打印系统设计与实现
  • 从晶体表示与Breuil-Mézard猜想看对称性分解与模性约束
  • PX4学习笔记(二)从芯片复位 → px4_main 完整启动时序(文字流程图)
  • leetcode 3737. 统计主要元素子数组数目 I 中等
  • 基于C#与WPF构建高效串口调试工具:从通信原理到协议解析实践

日新闻

  • Qwen2.5-Turbo百万上下文实战指南:百炼平台长文本处理全解析
  • 怎么监控对标账号更新,2026年作者监控工作流,5款深度对比
  • EdgeRemover:专业级Windows Edge浏览器管理工具,彻底解决顽固软件卸载难题

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号