C#设计模式:实例演示简单工厂模式应用与原理
68 浏览量
更新于2024-08-29
收藏 114KB PDF 举报
简单工厂模式是一种软件设计模式,它在C#编程中常用于解耦对象创建和类依赖,从而降低代码的复杂性和提高灵活性。简单工厂模式的核心思想是将对象的创建过程封装在一个独立的类或方法中,而不是直接在客户端代码中通过"new"关键字硬编码创建对象。这种模式遵循面向对象原则中的“封装改变”,即当需求变化导致对象结构改变时,只需修改工厂类而不影响客户端。
在现实生活中,简单工厂可以类比为餐馆,它根据顾客的需求(如菜品类型)决定生产(烹饪)哪种食物。在C#代码示例中,`Customer`类扮演着“客户”的角色,以前没有工厂时,每个菜品的制作都要在`Cook`方法中直接实现。例如,如果想要西红柿炒蛋,客户需要手动调用`Cook`并传入相应的菜品类型。
引入简单工厂模式后,例如定义一个`FoodFactory`类:
```csharp
public class FoodFactory
{
// 封装了创建不同菜品的方法
public static Food CreateFood(string type)
{
if (type.Equals("西红柿炒蛋"))
return new TomatoScrambledEggs();
else if (type.Equals("土豆肉丝"))
return new ShreddedPorkWithPotatoes();
// 更多菜品的逻辑可以添加在这里
throw new ArgumentException($"未知的菜品类型: {type}");
}
}
public class Customer
{
public static Food Cook(string type)
{
return FoodFactory.CreateFood(type);
}
}
```
现在,客户端只需调用`FoodFactory.CreateFood`方法,传入菜品类型,工厂内部负责根据类型返回相应的`Food`对象,降低了`Customer`类对具体菜品实现的依赖。这种方式使得当菜品需求变化时,只需修改`FoodFactory`而不必修改`Customer`,提高了代码的可维护性。
总结起来,简单工厂模式在C#设计中扮演着控制对象创建的角色,通过解耦客户端和具体对象的创建过程,使设计更加灵活,适应性更强。这是面向对象设计中一种实用且重要的策略,有助于减少代码的复杂性和提高软件的扩展性。
2011-08-17 上传
2010-07-16 上传
2020-12-26 上传
2023-05-18 上传
2023-11-29 上传
2023-09-18 上传
2023-10-14 上传
2023-09-16 上传
2023-06-07 上传
weixin_38656676
- 粉丝: 5
- 资源: 950
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章