C#编程反射与设计模式之设计模式与简单工厂
一、 设计模式与简单工厂1.设计模式什么是设计模式:设计模式是人们在开发中遇到的共性问题而提出的一个解决方案。
比如说,孙子兵法中的各种策略其实就是针对某种情况的经验总结。程序开发中的设计模式只是一种参考,而不是一成不变的。
常见的设计模式:简单工厂(典型应用:解决单一对象创建的扩展问题)抽象工厂(典型应用:解决多种类型数据访问问题或不同业务逻辑)单例模式(在 web开发中,设计购物车的时候需要使用)
2.现实开发遇到的问题
问题描述:某个项目需要一个打印报表程序,但是该项目的用户可能使用多种报表形式,比如,有的企业使用 Excel 报表,有的企业要求直接设计报表打印模块,而有的企业可能使用其他报表组件。项目要求设计至少三种报表模块,项目发布后只需要修改一下配置信息即可满足不同用户的报表需求。
解决方案:因为设计到系统扩展问题,考虑使用接口设计报表模块。同一个需求,有不同表现,符合多态的应用条件。
3.简单工厂设计模式
简单工厂设计模式的原理分析:
实现原理:工厂通过 “ 选择 ” 的方式来指定应该创建哪个 “ 接口实现类的对象” “ 工厂 ” 其实就是一个对象创建的方法,让对象 “ 延迟创建”
4.使用简单工厂设计报表搭建项目并设计接口
设计工厂类和工厂方法
配置文件在 App.config 中,需要引入 System.Configuration
调用工厂方法实现对象的动态创建
问题思考:如果用户选择另一种报表类型怎么办当增加一种报表类型时程序应该如何变化?使用继承实现简单工厂。
页:
[1]