【发布时间】:2014-08-10 08:35:23
【问题描述】:
假设我有一个名为 Guice 服务的服务,这是它的构造函数
public GuiceService(IPayment payment) {
this.payment = payment;
}
我的代码曾经使用枚举来创建它
IPayment payment = new PaymentFactory.create(PaymentType.Cash);
NaiveService naiveService = new NaiveService(payment);
而且我必须在某个地方进行工厂实现。像这样的
public IPayment create(PaymentType paymentType) {
IPayment cardPayment = null;
switch (paymentType) {
case Cash:
cardPayment = new CashPayment(100);
break;
case Card:
cardPayment = new CardPayment(10, 100);
break;
}
return cardPayment;
现在我想使用 Guice,我想我想使用 FactoryModuleBuilder。
-
如果我有多个 IPayment 的实现,该怎么做。
(例如 CardPayment、CashPayment)
这适用于一个install(new FactoryModuleBuilder() .implement(IPayment.class, CashPayment.class) .build(IPaymentFactory.class)); - 如何实现构造函数?
它还会获得 IPayment 吗?还是会得到 Guice 创建的 factoryImpl?
谢谢
【问题讨论】: