最佳实践Java包设计
我目前正试图弄清楚如何设计一个小应用程序。 该应用程序是一项服务,它有一些文件作为输入(excel文件或pdf文件,代表第三方公司的报告),其输出应是从各种报告生成pdf发票。然后,这些发票将亲手发送给报告签发公司。我知道如何让应用程序做我想做的,但目前所有类都在一个包“默认包”中。我想改变这一点。所以我开始重新命名这些类,这样它们就可以被比喻成一个“办公室”。 以下是我当前的类和接口:最佳实践Java包设计,java,packages,Java,Packages,我目前正试图弄清楚如何设计一个小应用程序。 该应用程序是一项服务,它有一些文件作为输入(excel文件或pdf文件,代表第三方公司的报告),其输出应是从各种报告生成pdf发票。然后,这些发票将亲手发送给报告签发公司。我知道如何让应用程序做我想做的,但目前所有类都在一个包“默认包”中。我想改变这一点。所以我开始重新命名这些类,这样它们就可以被比喻成一个“办公室”。 以下是我当前的类和接口: OfficeDesk(一切事物的中心) 转换器(打开pdf和excel文件,将其解析为字符串) 报表(表示
- OfficeDesk(一切事物的中心)
- 转换器(打开pdf和excel文件,将其解析为字符串)
- 报表(表示pdf或excel报表文件内容的对象)
- ReportBook(所有报告的列表)
- 簿记员(将报告字符串转换为报告,将报告添加到报告簿,实现ReadingSkill)
- ReadingSkill(接口,强制簿记员能够将字符串转换为报表对象)
- 排字机(一些通用字符串实用程序)
- 打字员(将报告书转换为pdf格式,使用排字机,实现发票打字技能)
- InvoiceTypingSkill(强制打字员实现诸如TypeReportTable()、TypeDueDate()等方法)
- JobAgency(一种服务,它会简单地查看pdf文件,以确定pdf文件的来源(报告公司),然后为该工作提供一名专业簿记员(簿记员的一个子类,即WeylandCorporation簿记员,该簿记员是指知道如何阅读Weyland Corporation报告的簿记员)或打字员)
- 办公室(课程:OfficeDesk)
- 文件柜(类别:报告书、报告)
- 服务(类别:职业介绍所、翻译、排版)
- 服务.簿记(类:簿记员、阅读技能、所有簿记员子类)
- 服务.打字员(类别:打字员、发票打字员技能、所有打字员子类别)