# 收银系统-单机版 **Repository Path**: tommy007/cashier-system-demo ## Basic Information - **Project Name**: 收银系统-单机版 - **Description**: 使用java,借助javax.swing,实现简单的超市收银系统。 系统中合理利用设计模式(策略、工厂)和反射机制,提升代码的可复用性、可扩展性与可维护性。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-21 - **Last Updated**: 2024-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一、需求 1、有一家超市,出售苹果和草莓。其中苹果 8 元/斤,草莓 13 元/斤。 现在顾客 A 在超市购买了若干斤苹果和草莓,需要计算一共多少钱? 请编写函数,对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 2、超市增加了一种水果芒果,其定价为 20 元/斤。 现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 B 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 3、超市做促销活动,草莓限时打 8 折。 现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 4、促销活动效果明显,超市继续加大促销力度,购物满 100 减 10 块。 现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果,需计算一共需要多少钱? 请编写函数,对于 D 购买的水果斤数 (水果斤数为大于等于 0 的整数),计算并返回所购买商品的总价。 要求 1、使用 Java 程序编写,IDE 不限, 2、请使用面向对象的思路进行程序编写。 3、需在程序中,验证函数计算结果的正确性。 二、系统设计: 根据现有的需求,简单使用java扩展包swing来实现一版桌面版超市收银系统。该系统分为图形用户界面、业务层服务 1、使用javax.swing实现图形用户界面(GUI) 2、使用java,通过工厂模式、策略模式等实现业务逻辑代码,从而实现系统的可重用性、可扩展性和可维护性 ![图形用户界面设计.png](doc/gui_design.png) ![UML类图设计.png](doc/uml_class.png) 三、效果图: ![效果图.png](doc/show.png) 四、后续扩展 1、新增新的收款策略 2、新增业务功能:商品扫码、结账、退款功能、会员管理、库存管理、销售数据分析等。涉及对接微信开发平台等 五、程序运行 运行环境:JDK8 1、使用maven-3.6.3构建jar包:cashier-system-demo-1.0-SNAPSHOT.jar 2、运行jar包:java -Xms512m -Xmx1024m -Xss4m -jar cashier-system-demo-1.0-SNAPSHOT.jar