读书人

应用Guice依赖注入实现工厂模式[4]

发布时间: 2012-09-20 09:36:50 作者: rapoo

使用Guice依赖注入实现工厂模式[4]——Factory Method 模式

Notice: 本文作者只是设计模式、Guice和依赖注入的初学者,所以本文不会指出使用Guice的实现方法有什么好处,所写的代码未必是最佳实践,欢迎提出改进意见。

Factory Method 模式 http://www.riabook.cn/doc/designpattern/FactoryMethod.htm

如果保持这个模式,需要创建一个表现依赖关系的模块类如下:

?

import com.google.inject.Guice;import com.google.inject.Inject;import com.google.inject.Injector;public class AbstractEditor {    private IDocument document;    @Inject    public void newDocument(IDocument docu){        document = docu;        document.open();    }    public void saveDocument() {         if(document != null)             document.save();     }    public void closeDocument() {         if(document != null)             document.close();     }        public static void main(String[] args){    Injector injector = Guice.createInjector(new EditorModule());    AbstractEditor editor = injector.getInstance(AbstractEditor.class);    editor.saveDocument();    editor.closeDocument();    }}

?

运行时可以发现,Guice在创建editor实例的时候,自动运行了Inject注解的newDocument方法。

?

?

?

读书人网 >软件架构设计

热点推荐