Sha*_*awn 4 c# design-patterns
我想编写没有很多开关的代码,if/else,以及其他基于用户输入执行逻辑的典型语句.
例如,假设我有一个我要组装的Car类并调用Car.Run().更重要的是,让我们说轮胎我有4个不同轮胎类的chocie可供选择,根据用户输入.
对于,我不知道,身体类型,让我说我有10个体型类可供选择来构建我的汽车对象,依此类推.
使用可配置参数的数量将此示例放大1000时使用的最佳模式是什么.
甚至有这种模式吗?我看过工厂和抽象的工厂模式,他们不太适合这个,虽然看起来应该这样.
我不认为工厂模式会在这里失职.我就是这样设置的.我没有看到你如何摆脱基于switch/if的逻辑,从根本上说,你的用户正在做出选择.
public class Car {
public Engine { get; set; }
//more properties here
}
public class EngineFactory {
public Engine CreateEngine(EngineType type {
switch (type) {
case Big:
return new BigEngine();
case Small:
return new SmallEngine();
}
}
}
public class Engine {
}
public class BigEngine : Engine {
}
public class SmallEngine : Engine {
}
public class CarCreator {
public _engineFactory = new EngineFactory();
//more factories
public Car Create() {
Car car = new Car();
car.Engine = _engineFactory.CreateEngine(ddlEngineType.SelectedValue);
//more setup to follow
return car;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1973 次 |
| 最近记录: |