【发布时间】:2012-09-26 11:23:09
【问题描述】:
我有一个定义一种方法的接口。该接口有多个以不同方式实现该接口的类。
例如:
interface IJob {
void DoSomething();
}
class SomeJob : IJob{
public void DoSomething() {
// Do something ...
}
}
class AnotherJob : IJob {
public void DoSomething() {
// Do something ...
}
}
...
我的工厂类会有一堆这样的 IF 语句
if (some condition)
{
IJob job = new SomeJob ();
else
{
IJob job = new AnotherJob ();
}
有没有办法避免每次出现新情况时都修改工厂类。这不能仅仅通过添加一个实现 IJob 的新类来完成吗?
编辑: [我想弄清楚Antiifcampaign 的这些人在做什么]
感谢您的宝贵时间...
【问题讨论】:
-
如果你不想
if条件编译器如何理解你想要执行的女巫代码块。? -
程序运行时条件可以改变吗?
-
对象应该分配到某个地方。
-
@AntonSizikov:是的,条件将取决于用户输入。
-
@KarelFrajtak:但需要有一些条件,基于这些条件我将正确的对象发送到期望它的类..对吗?..你有任何代码示例吗?
标签: c# oop object-oriented-analysis