




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五抽象工厂方法设计模式专业:软件工程 班级:java2班 实验日期:2015年 3 月 14 日 报告退发 (订正 、 重做) 学号:123012012137 姓名:张超红实验目的:加深对抽象工厂方法设计模式及创建型设计模式原理的理解实验环境:C#.Net/VC+.Net或MyEclipse(Java)等实验内容: 某单据管理系统中要求实现对采购、销售、库存的单据管理,系统的采购类的单据中有如采购单、收货单、应付帐单、付款单和退货单等,现使用抽象工厂方法设计模式设计该系统。实验过程:1、构建实现场景,给出需求中的问题描述2、画出UML类图 3、实现代码package Factory;import entity.ActuallyBills;import entity.OriginalBills;import entity.PurchaseForm;import entity.ReceiveGoodsForm;import entity.ReturnGoodsForm;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;/* * * author 张超红 * 采购订单类工厂 */public class PurchaseFactory implements AbstractFactory public PurchaseFactory() / TODO 自动生成的构造函数存根/采购单据Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return new PurchaseForm();/退货单据public AbstractPurchaseForm createReturnGoodsForm()return new ReturnGoodsForm();/实际支付单据public AbstractPurchaseForm createActualllyBills()return new ActuallyBills();/应该支付单据public AbstractPurchaseForm createOrignalBills()return new OriginalBills();/收货单public AbstractPurchaseForm createReceiveGoodsBills()return new ReceiveGoodsForm();public AbstractStockForm createStock() / TODO 自动生成的方法存根return null;public AbstractSaleForm createSale() / TODO 自动生成的方法存根return null;package Factory;import entity.BankTransferForm;import entity.BorrowingForm;import entity.CashExpenseAccount;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;public class SaleFactory implements AbstractFactory public SaleFactory() / TODO 自动生成的构造函数存根Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return null;public AbstractStockForm createStock() / TODO 自动生成的方法存根return null;/现金支付销售public AbstractSaleForm createSale() / TODO 自动生成的方法存根return new CashExpenseAccount();/借款单据销售public AbstractSaleForm createBorrowingForm()return new BorrowingForm();/银行转账销售public AbstractSaleForm createBankTransffer()return new BankTransferForm();package Factory;import entity.StockOutForm;import entity.StockRntryForm;import PurchaseModule.AbstractPurchaseForm;import PurchaseModule.AbstractSaleForm;import PurchaseModule.AbstractStockForm;public class StockFactory implements AbstractFactory public StockFactory() / TODO 自动生成的构造函数存根Overridepublic AbstractPurchaseForm createPurchase() / TODO 自动生成的方法存根return null;/入库public AbstractStockForm createStock() / TODO 自动生成的方法存根return new StockRntryForm();/出库public AbstractStockForm OutStock()return new StockOutForm();public AbstractSaleForm createSale() / TODO 自动生成的方法存根return null;package PurchaseModule;/* * * author 张超红 * */public interface AbstractPurchaseForm extends Form void display();package PurchaseModule;public interface AbstractStockForm extends Form void display();package PurchaseModule;public interface AbstractSaleForm extends Form void display();package entity;import java.util.Collection;import java.util.Date;import PurchaseModule.AbstractPurchaseForm;public class PurchaseForm implements AbstractPurchaseForm String form_no;Date date;String CreateFormPerson;String tax_items;/税目Collection dataCollection;/导入单据String data;/单据public void add()System.out.println(添加单据.);public void delete()System.out.println(删除单据.);public void print()System.out.println(打印.);public void examine()System.out.println(审批.);public PurchaseForm() / TODO 自动生成的构造函数存根Overridepublic void display() / TODO 自动生成的方法存根System.out.println(您的采购单据中的采购单如下.);package Util;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;import org.w3c.dom.Node;import org.w3c.dom.NodeList;public class XMLUtil public static Object getBean() try System.out.println(正在从配置文件中读取数据.);/ 创建DOM文档对象DocumentBuilderFactory dFactory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = dFactory.newDocumentBuilder();Document doc;doc = builder.parse(new File(config.xml);/ 获取包含类名的文本节点NodeList nl = doc.getElementsByTagName(className);Node classNode = nl.item(0).getFirstChild();String cName = classNode.getNodeValue();/ 通过类名生成实例对象并将其返回Class c = Class.forName(Factory.+cName);Object obj = c.newInstance();System.out.println(=+obj);return obj; catch (Exception e) e.printStackTrace();System.out.println(e.getMessage();return null;package test;import PurchaseModule.AbstractPurchaseForm;import Util.XMLUtil;import entity.PurchaseForm;import Factory.AbstractFactory;pu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扫黑除恶与预防邪教课件
- 房地产销售营销知识培训课件
- 2025年卫校招生考试题目及答案
- 慢阻肺呼吸锻炼科普
- 慕课课件观看时长
- 文明纪检部考试题及答案
- 长治妇联考试题及答案
- 江苏交安考试真题及答案
- 深圳生物高考试卷及答案
- 济南护士招考试题及答案
- 2025版外墙保温涂料分包工程合同范例
- 2025上海市食品药品包装材料测试所公开招聘笔试参考题库附答案解析
- Unit 1 What's he like Part B Read and write英语教学课件
- 湘少版(三起)(2024)三年级上册英语全册教案
- 小屁孩日记阅读课件
- 医务人员职业道德准则(2025年版)全文培训课件
- 2025年新生儿误吸(呛奶)应急预案演练脚本
- 医院网络信息安全培训
- 2025年职业指导师中级专业能力试卷:就业指导实务操作技能
- 产业园区建设汇报
- 保健公司客户服务流程规定
评论
0/150
提交评论