第5次实验张超红抽象工厂方法设计模式实验.docx

上传人:b****2 文档编号:25898099 上传时间:2023-06-16 格式:DOCX 页数:12 大小:84.08KB
下载 相关 举报
第5次实验张超红抽象工厂方法设计模式实验.docx_第1页
第1页 / 共12页
第5次实验张超红抽象工厂方法设计模式实验.docx_第2页
第2页 / 共12页
第5次实验张超红抽象工厂方法设计模式实验.docx_第3页
第3页 / 共12页
第5次实验张超红抽象工厂方法设计模式实验.docx_第4页
第4页 / 共12页
第5次实验张超红抽象工厂方法设计模式实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

第5次实验张超红抽象工厂方法设计模式实验.docx

《第5次实验张超红抽象工厂方法设计模式实验.docx》由会员分享,可在线阅读,更多相关《第5次实验张超红抽象工厂方法设计模式实验.docx(12页珍藏版)》请在冰豆网上搜索。

第5次实验张超红抽象工厂方法设计模式实验.docx

第5次实验张超红抽象工厂方法设计模式实验

实验五—抽象工厂方法设计模式

专业:

软件工程班级:

java2班实验日期:

2015年3月14日报告退发(订正、重做)

学号:

123012012137姓名:

张超红

实验目的:

加深对抽象工厂方法设计模式及创建型设计模式原理的理解

实验环境:

C#.Net/VC++.Net或MyEclipse(Java)等

实验内容:

某单据管理系统中要求实现对采购、销售、库存的单据管理,系统的采购类的单据中有如采购单、收货单、应付帐单、付款单和退货单等,现使用抽象工厂方法设计模式设计该系统。

实验过程:

1、构建实现场景,给出需求中的问题描述

2、画出UML类图

3、实现代码

packageFactory;

importentity.ActuallyBills;

importentity.OriginalBills;

importentity.PurchaseForm;

importentity.ReceiveGoodsForm;

importentity.ReturnGoodsForm;

importPurchaseModule.AbstractPurchaseForm;

importPurchaseModule.AbstractSaleForm;

importPurchaseModule.AbstractStockForm;

/**

*

*@author张超红

*采购订单类工厂

*/

publicclassPurchaseFactoryimplementsAbstractFactory{

publicPurchaseFactory(){

//TODO自动生成的构造函数存根

}

//采购单据

@Override

publicAbstractPurchaseFormcreatePurchase(){

//TODO自动生成的方法存根

returnnewPurchaseForm();

}

//退货单据

publicAbstractPurchaseFormcreateReturnGoodsForm(){

returnnewReturnGoodsForm();

}

//实际支付单据

publicAbstractPurchaseFormcreateActualllyBills(){

returnnewActuallyBills();

}

//应该支付单据

publicAbstractPurchaseFormcreateOrignalBills(){

returnnewOriginalBills();

}

//收货单

publicAbstractPurchaseFormcreateReceiveGoodsBills(){

returnnewReceiveGoodsForm();

}

publicAbstractStockFormcreateStock(){

//TODO自动生成的方法存根

returnnull;

}

publicAbstractSaleFormcreateSale(){

//TODO自动生成的方法存根

returnnull;

}

}

 

packageFactory;

importentity.BankTransferForm;

importentity.BorrowingForm;

importentity.CashExpenseAccount;

importPurchaseModule.AbstractPurchaseForm;

importPurchaseModule.AbstractSaleForm;

importPurchaseModule.AbstractStockForm;

 

publicclassSaleFactoryimplementsAbstractFactory{

publicSaleFactory(){

//TODO自动生成的构造函数存根

}

@Override

publicAbstractPurchaseFormcreatePurchase(){

//TODO自动生成的方法存根

returnnull;

}

publicAbstractStockFormcreateStock(){

//TODO自动生成的方法存根

returnnull;

}

//现金支付销售

publicAbstractSaleFormcreateSale(){

//TODO自动生成的方法存根

returnnewCashExpenseAccount();

}

//借款单据销售

publicAbstractSaleFormcreateBorrowingForm(){

returnnewBorrowingForm();

}

//银行转账销售

publicAbstractSaleFormcreateBankTransffer(){

returnnewBankTransferForm();

}

}

 

packageFactory;

importentity.StockOutForm;

importentity.StockRntryForm;

importPurchaseModule.AbstractPurchaseForm;

importPurchaseModule.AbstractSaleForm;

importPurchaseModule.AbstractStockForm;

 

publicclassStockFactoryimplementsAbstractFactory{

publicStockFactory(){

//TODO自动生成的构造函数存根

}

@Override

publicAbstractPurchaseFormcreatePurchase(){

//TODO自动生成的方法存根

returnnull;

}

//入库

publicAbstractStockFormcreateStock(){

//TODO自动生成的方法存根

returnnewStockRntryForm();

}

//出库

publicAbstractStockFormOutStock(){

returnnewStockOutForm();

}

publicAbstractSaleFormcreateSale(){

//TODO自动生成的方法存根

returnnull;

}

}

 

packagePurchaseModule;

/**

*

*@author张超红

*

*/

publicinterfaceAbstractPurchaseFormextendsForm{

voiddisplay();

}

 

packagePurchaseModule;

publicinterfaceAbstractStockFormextendsForm{

voiddisplay();

}

 

packagePurchaseModule;

publicinterfaceAbstractSaleFormextendsForm{

voiddisplay();

}

 

packageentity;

importjava.util.Collection;

importjava.util.Date;

importPurchaseModule.AbstractPurchaseForm;

publicclassPurchaseFormimplementsAbstractPurchaseForm{

Stringform_no;

Datedate;

StringCreateFormPerson;

Stringtax_items;//税目

CollectiondataCollection;//导入单据

Stringdata;//单据

publicvoidadd(){

System.out.println("添加单据...");

}

publicvoiddelete(){

System.out.println("删除单据...");

}

publicvoidprint(){

System.out.println("打印...");

}

publicvoidexamine(){

System.out.println("审批...");

}

publicPurchaseForm(){

//TODO自动生成的构造函数存根

}

@Override

publicvoiddisplay(){

//TODO自动生成的方法存根

System.out.println("您的[采购单据]中的[采购单]如下...");

}

}

 

packageUtil;

 

importjava.io.File;

importjavax.xml.parsers.DocumentBuilder;

importjavax.xml.parsers.DocumentBuilderFactory;

importorg.w3c.dom.Document;

importorg.w3c.dom.Node;

importorg.w3c.dom.NodeList;

 

publicclassXMLUtil{

publicstaticObjectgetBean(){

try{

System.out.println("正在从配置文件中读取数据...");

//创建DOM文档对象

DocumentBuilderFactorydFactory=DocumentBuilderFactory

.newInstance();

DocumentBuilderbuilder=dFactory.newDocumentBuilder();

Documentdoc;

doc=builder.parse(newFile("config.xml"));

//获取包含类名的文本节点

NodeListnl=doc.getElementsByTagName("className");

NodeclassNode=nl.item(0).getFirstChild();

StringcName=classNode.getNodeValue();

//通过类名生成实例对象并将其返回

Classc=Class.forName("Factory."+cName);

Objectobj=c.newInstance();

System.out.println("==="+obj);

returnobj;

}catch(Exceptione){

e.printStackTrace();

System.out.println(e.getMessage());

returnnull;

}

}

}

 

packagetest;

importPurchaseModule.AbstractPurchaseForm;

importUtil.XMLUtil;

importentity.PurchaseForm;

importFactory.AbstractFactory;

publicclasstest{

publicstaticvoidmain(String[]args){

AbstractFactoryfactory;

AbstractPurchaseFormpurchase;

factory=(AbstractFactory)XMLUtil.getBean();

purchase=factory.createPurchase();

purchase.display();

}

}

 

xmlversion="1.0"?

>

PurchaseFactory

实验讨论(效果分析):

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1