我正在阅读Effective
Java并阅读静态工厂
方法来创建对象.其第2章,第1项.有优势没有. 3,作者提到了喜欢
Hiding implementation classes in this fashion can lead to a very compact API. This technique lends itself to interface-based frameworks,where interfaces provide natural return types for static factory methods.
我无法理解基于接口的框架是什么?
也许改写它会有所帮助:基于接口的框架是一个框架,只允许
用户/客户端lib访问接口,同时实际提供实现这些接口的类.这种
方法的好处在于让实现者完全控制实现并同时为客户端提供稳定的API.我最近遇到了一个例子,客户端从API
方法获取XmlProcessor.在框架内部,该处理器有三种完全不同的实现:DomXmlProcessor,SaxXmlProcessor和VtdXmlProcessor.各个实现的细节与客户无关,可以随时切换.