Design to code(2)

【碎碎念】从七点到十一点,累计用时4个小时完成的代码翻译Σ( ̄。 ̄ノ)ノ


DCDS图

顺序图(支付过程)

交互图(订单)

我的代码

Payment

public class Payment {

    //定义支付订单金额

    private Integer amount;

    //初始化一个新的支付实例

    public Payment(Integer amount) {

        this.amount = amount;

}

    //创建支付

    public void create(Integer amount){

        this.amount = amount;

    }

}

Payment类,用于封装支付相关信息及处理支付过程。Payment类有私有变量amount和create(Integer amount)函数。

Merchant

public class Merchant {

    public void associateOrder() {

        // 将订单与特定的商户关联

    }

}

Merchant类,代表系统中的商户实体,负责管理其下的订单和支付相关操作。Merchant类有associateOrder()函数。

Order

public class Order {

    private Integer id;//订单ID

    private LocalDateTime time;//下单时间

    private Integer amount;//订单金额

    private Payment payment;// 来自类-关联属性可见性

Merchant merchant = new Merchant();

    // 构造函数,初始化订单的基本信息

    public Order(Integer id, LocalDateTime time, Integer amount) {

        this.id = id;

        this.time = time;

        this.amount = amount;

    }

    public void makePayment(Integer amount) {

        // 实现支付逻辑

        payment = new Payment(amount);

        

    }

    public void createOrder() {

        // 通过参数传递的Merchant对象间接关联商户与订单

        merchant.associateOrder();

    }

}

Order类,代表系统中的订单实体,用于存储订单信息及处理订单状态变更、关联支付等操作。Order类有私有变量 id、time、amount,Order类的函数有makePayment(Integer amount)和createOrder() ,来自上述的协作图和DCD图。

System

public class System {

    private Order order; // 来自类-关联属性可见性

    public void createOrder() {

      //创建订单

       order.createOrder();

    }

    public void confirmOrder() {

        // 确认订单

    }

}

System类,代表系统管理实体,负责处理订单的创建、确认等系统级操作。System类有createOrder()和confirmOrder() 函数。


保佑我顺利通过老师的检查,以及系统设计考试顺利,加油ヾ(◍°∇°◍)ノ゙

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/640035.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s集群部署成功后某个节点突然出现notready状态解决办法

通过: kubectl get nodes 查看master1节点为not ready 通过查看日志: journalctl -f -u kubelet.service 看到这里 查看状态: systemctl status kubelet.service 重启一样会报错 执行: swapoff -a 执行后,重启…

以及Spring中为什么会出现IOC容器?@Autowired和@Resource注解?

以及Spring中为什么会出现IOC容器?Autowired和Resource注解? IOC容器发展史 没有IOC容器之前 首先说一下在Spring之前,我们的程序里面是没有IOC容器的,这个时候我们如果想要得到一个事先已经定义的对象该怎么得到呢?…

HCIP-Datacom-ARST自选题库__ISIS判断【23道题】

1.IS-1S快速收敛是为了提高路由的收敛速度而做的扩展特性,包含PRC和I-SPF,其中PRC只对发生变化的路由进行重新计算,而I-SPF只对受影响的节点进行路由计算。√ 2.在I5-S协议视图下配置ipv6 preference,该命令的作用是配置|5-IS协议…

『哈哥赠书 - 53期』-『深入浅出 Spring Boot 3.x』

⭐️ 《深入浅出 Spring Boot 3.x》 ⭐️ 学习Spring Boot的必读之书 在 Java 后端开发领域,功能强大的 Spring 开源框架不仅是首选,也是事实上的标准。但由于 Spring 存在配置烦琐、部署不易、依赖管理困难等问题,因此基于 Spring 的快速开…

【IDEA软件应用篇】IDEA基础开发设置和开发快捷键

IDEA是一种集成开发环境,可以运行java代码。 本篇文章你将收获到下面的知识: (1)IDEA如何设置字体大小快捷键 (2)如何解决每次进IDEA时,进去的页面都是上次使用完时的那个页面 (3&am…

【学习笔记】Windows GDI绘图(四)矩阵Matrix详解

矩阵Matrix 基于矩阵在GDI绘图的重要性,所以想深入了学习矩阵的相关属性与方法。 先上个本文中所有的函数图例演示吧。 原型: namespace System.Drawing.Drawing2D;public sealed unsafe class Matrix : MarshalByRefObject, IDisposableMatrix类封装…

(Java企业 / 公司项目)配置Linux网络-导入虚拟机

公司给了我一个IP地址 ,提供了一个虚拟机或者自己搭建虚拟机,还有提供登录的账号密码 可以查看我之前的文章 VMware Workstation Pro 17虚拟机超级详细搭建(含redis,nacos,docker, rabbitmq,sentinel&…

民国漫画杂志《时代漫画》第16期.PDF

时代漫画16.PDF: https://url03.ctfile.com/f/1779803-1248612470-6a05f0?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!

EMQX 的初始IP改为自己的实际IP

分类 EMQX Dashboard(控制台): Dashboard提供了一个Web界面,用于管理和监控EMQX的运行状态。您可以通过配置dashboard.listeners.http.bind来设置Dashboard的监听地址和端口。例如,如果您想要Dashboard在所有网络接口上监听&#…

【oracle004】oracle内置函数手册总结(已更新)

1.熟悉、梳理、总结下oracle相关知识体系。 2.日常研发过程中使用较少,随着时间的推移,很快就忘得一干二净,所以梳理总结下,以备日常使用参考 3.欢迎批评指正,跪谢一键三连! 总结源文件资源下载地址&#x…

Scala的简单学习一

一 相关知识 1.1 scala的安装 1.在idea中导入依赖,并在Idea下载scala插件 1.2 scala基础知识点 1.scala代码中一行语句的结束是以换行符为标准,可以不用写分号 2.class是一个普通的类,object相当于一个单例对象,object类中的…

基于GA遗传优化的CNN-GRU的时间序列回归预测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 CNN-GRU模型架构 4.2 GA优化CNN-GRU流程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ...........................................…

类和对象的基本概念

类和对象的基本概念 C和C中struct区别类的封装封装访问权限总结struct和class的区别 将成员变量设置为private C和C中struct区别 C语言struct只有变量C语言struct 既有变量,也有函数 类的封装 封装 把变量(属性)和函数(操作&a…

【软件工程】【23.10】p3

关键字: 软件工程定义及目的、需求规约定义及性质、模块的控制域及作用域、类和类图、调试特征、瀑布模型

Star CCM+分配零部件至区域后交界面丢失-更新找回

前言 在工程应用中,将零部件分配至区域后,一般常规的操作需要对交界面进行检查。偶尔会发现交界面丢失。遇到此类问题,在没有做其他操作前(比如画网格),可以选择先删除所有区域在重新分配至区域。若已经进…

手把手教学,一站式安装ubuntu及配置服务器

应用背景:实验室刚弄了一台4090的电脑,老师让我们搞成服务器 一、制作ubuntu启动盘 1.1 清华开源影像站下载ubuntu桌面版本Index of /ubuntu-releases/22.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 1.2 下载UltralSO软件 https://…

【C语言回顾】文件操作

前言1. 文件打开模式2. 示例代码2.1 打开和关闭文件2.2 读写文件2.3 二进制文件操作 结语 #include<GUIQU.h> int main { 上期回顾: 【C语言回顾】动态内存管理 个人主页&#xff1a;C_GUIQU 专栏&#xff1a;【C语言学习】 return 一键三连; } 前言 各位小伙伴大家好&…

融资融券大揭秘:两融入门操作最新指南!

#引言# 随着中国资本市场日新月异的发展进程&#xff0c;融资融券交易已崭露头角&#xff0c;成为投资者们瞩目的焦点。作为一种颇具影响力的投资方式&#xff0c;它正逐渐吸引越来越多的投资者关注。本文旨在为大家深入剖析融资融券交易的核心概念、详尽的操作步骤以及必须留意…

基础widgets

1.widgets_文本和字体 在flutter当中几乎所有的对象都是widget,他跟原生开发的控线不一样,flutter开发当中,widget的概念更广泛一点, 不仅可以表示ui元素,也可以表示一些功能性的组件,例如手势检测等 基础组件 文本和字体 对于html当中对应就是lab或者label或者span这样的行内元…