某软件公司欲开发一个数据格式转换工具,可以讲不同数据源如txt文件、数据库、Excel表哥中的数据转换成XML格式。 为了让系统更具有更好的扩展性,在未来支持心类型的数据源,开发人员使用工厂方法模式设计该转换工具的核心类。在工厂类中封装了具体转换类的初始化和创建过程,客户端只需使用工厂类即可获得具体的转换类对象,再调用其相应方法实现数据转换操作。 类图如下: interface ConvertoeCreator{ (1) ; } interface Convertor{ public String transform(); } class DBConvertoeCreator implements ConvertorCreator{ public Convertor getConvertor(){ (2) ; } } class TXTConvertoeCreator implements ConvertorCreator{ public Convertor getConvertor(){ (3) ; } } class DBConvertor implements Convertor{ public String transform(){ //实现略 } } class TXTConvertor implements Convertor{ public String transform(){ //实现略 } } class Test{ public static void main(String args[]){ ConvertorCreator creator; (4) ; creator = new DBConvertorCreator(); convertor = (5) ; convertor.transform(); } } 如果需要针对一种新的数据源进行数据转换,该系统至少需要增加 (6) 个类。工厂方法模式体现了哪些面向对象设计原则(7)