我正在尝试将业务逻辑从服务类和控制器中剥离出来,放到我的业务类中。
假设我需要创建一个 SecondFoo,并需要访问数据库以知道是否必须创建 FirstBar 或 SecondBar,我该如何做?我是否应该在 SecondFoo 的构造函数中注入数据源?或者使用服务定位器?或者将 createBar 方法移出 IFoo 接口?
编辑:我并不是在寻找“工厂模式”的定义,createBar 方法可能类似于“changeBar”或“doBusinessWithBar”。
public interface IFoo{
IBar CreateBar(creationParameters);
}
public class FirstFoo : IFoo{
IBar CreateBar(creationParameters){
return new FirstBar(creationParameter.Id);
}
}
public interface IBar{
void DoSomething();
}
public class FirstBar : IBar{
FirstBar(int id){...}
void DoSomething(){
//well... do something
}
}
public class SecondBar : IBar{
FirstBar(int id){...}
void DoSomething(){
//well... do something else
}
}
假设我需要创建一个 SecondFoo,并需要访问数据库以知道是否必须创建 FirstBar 或 SecondBar,我该如何做?我是否应该在 SecondFoo 的构造函数中注入数据源?或者使用服务定位器?或者将 createBar 方法移出 IFoo 接口?
编辑:我并不是在寻找“工厂模式”的定义,createBar 方法可能类似于“changeBar”或“doBusinessWithBar”。
TaxEligibilityCheck
一样。 - Jordão