创建通用对象工厂
问题描述:
在开发应用程序时,我遇到了一个不清楚该如何继续的情况。我的应用程序不是一个非常大的实现,所以不想添加任何DI容器(Spring/Guice)。创建通用对象工厂
我有我的控制器层从我需要调用我的服务层,我有两种方法来创建一个ServiceObject的实例。
- 使用简单的
new
算子。 - 创建工厂图层。
我知道工厂模式,但我的目的是创建一个通用的ObjectFactory,它应该足以创建和注入给定的对象。
类似于Spring所做的事情(不是那么多)就像在我的控制器类中公开一些setter方法,并让该工厂注入指定的对象。
在这方面的任何起始点指针会有所帮助
在此先感谢
答
我的应用程序是不是一个非常大的执行力度,所以不要想添加 任何DI容器(春/吉斯)
我觉得你的应用程序的大小是不是你不应该考虑(提供它真的不是一个HelloWolrd :))。正如artbristol表示,使用已有框架的关键在于你不会在自己的实现中犯下错误,其他人已经做了并在稍后解决了。我不知道你是否有实际的Spring知识(但是我们已经知道你很熟悉背后的概念),所以我建议你看一下这个主题的一些基本教程,你会看到你是多么容易可以开始使用Spring。
http://www.vogella.de/articles/SpringDependencyInjection/article.html
快乐编码!
答
只需使用Spring或Guice的,无论你是比较熟悉的。它们都非常轻量级,其他人将能够更容易地理解您的应用程序,而不是如果您推出自己的依赖注入。你自己的实现最终会看起来像其中之一,但功能更少,bug更多。
我同意这一点,但由于应用程序很小,所以说10个服务类,所以我不想添加额外的依赖。由于许可证问题,弹簧不在我的列表中:( – 2012-01-09 10:15:38
Spring有一个非常宽松的许可证, Maven可以很容易地将依赖关系绑定到你的应用程序中,如果你坚持自己动手,只需公开setter方法,并在应用程序启动时一次性“连接”所有'bean',这将允许你添加Spring稍后进行最小的更改。 – artbristol 2012-01-09 10:35:46