2014-06-10 95 views

回答

2

你的问题最好含糊不清,但接口的使用有助于抽象,因为你没有使用具体的类型。例如:

IPrinter p = PrinterFactory.getPrinter(conditions); 
... 
p.print(content); 

在下面的线,你不知道你正在使用完全相同什么打印机。既然你只是使用的逻辑,你并不在乎。所有你关心的是,工厂会给你打印机后,print方法将打印内容到正确的流。

如果您想更改正在使用的打印机,请在工厂类中进行修改,以便获得不同的IPrinter实现,该实现可以满足您的需求(在这种情况下,将打印到其他介质) 。这意味着你已经基本上改变了一段代码的结果而不会改变它的大部分内容。