种设计2

类设计2? ? 有了前面的学习,现在该是解决ReportService和PdfReportService类之间的依赖关系了。? ? 引入新

类设计2

? ? 有了前面的学习,现在该是解决ReportService和PdfReportService类之间的依赖关系了。

? ? 引入新的Container类:

public class ReportService {// private ReportGenerator generator = new PdfReportGenerator();private ReportGenerator generator = (ReportGenerator) Container.getInstance().getComponents("ReportGenerator");private int[][] data = new int[50][50];public void generateAnnulReport() {generator.generate(data);}public void generateMonthlyReport() {generator.generate(data);}public void generateDailyReport() {generator.generate(data);}}
?? 这样ReportService就可以重用了,所有的对象管理都在container来管理了。