c#工厂模式与抽象工厂模式

一、 工厂方法(Factory Method)模式

工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。

工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。

在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不接触哪一个产品类被实例化这种细节。这使得工厂方法模式可以允许系统在不修改工厂角色的情况下引进新产品。

在Factory Method模式中,工厂类与产品类往往具有平行的等级结构,它们之间一一对应。

二、 Factory Method模式角色与结构:

抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。

具体工厂(Concrete Creator)角色:这是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象。

抽象产品(Product)角色:工厂方法模式所创建的对象的超类型,也就是产品对象的共同父类或共同拥有的接口。

具体产品(Concrete Product)角色:这个角色实现了抽象产品角色所定义的接口。某具体产品有专门的具体工厂创建,它们之间往往一一对应。

工厂模式与抽象工厂模式是应用得比较多的构造型模式,先简单的介绍一下这种构造模式的应用背景:

在开发一个类的过程中,我们一般都要为这个类开发相应的构造函数(不过大部分情况下,.NET开发环境会自动默认创建构造函数),这样,使用这个类的客户可以利用构造函数对这个类进行实例化.但是,有时候会出现这种情况:需要使用一个对象的客户并不知道(或者不应该知道)应该对几个类中的哪个类进行初始化.面对这个问题,我们可以利用工厂模式定义一个接口,客户可以使用这个接口创建一个对象.同时我们还可以控制对哪个类进行实例化,实例化过程使用了一个方法,这个方法需要利用外部因素来确定对哪个类进行实例化.有时候,这些外部因素就是一个庞大的研究主题,并且往往会涉及到多个类.为此,抽象工厂模式就应用于这种场合,其目的是为了提供一个创建一系

点击复制链接 与好友分享!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力
上一篇:C#封装Word常用操作类
下一篇:C#获取Excel架构信息的方法
相关文章
图文推荐
c#工厂模式与抽象工厂模式
C# Win32控制台应用
c#工厂模式与抽象工厂模式
[连载]C#程序设计(1
c#工厂模式与抽象工厂模式
C# 系统应用之通过注
c#工厂模式与抽象工厂模式
[连载]C#程序设计(0

c#工厂模式与抽象工厂模式

排行
热门
79 | HTTP协议及POST与GET操作差异,C#中如
77 | c# 用正则表达式获取开始和结束字符串
73 | C#向excel中写入数据的三种方式
58 | C#播放flash动画即swf文件
58 | WPF中模板(ControlTemplate and
57 | C#打开Word
52 | C#中Trim(),TrimStart(),TrimEnd()的实
50 | [C#] 谨慎使用DynamicInvoke
C#实现Socket通信
C#调用存储过程详解
C# string格式的日期时间字符串转为D
利用WebClient实现对Http协议的Post和
CKEditor+CKFinder+asp.net配置
C# 使用sqlite 轻量级数据库
C#实现微信公众号群发消息(解决一天只
一款网页游戏外挂开发-数据抓包
文章
下载
读书
· Win2000下关闭无用端口
· 禁止非法用户登录综合设置 [win9x篇]
· 关上可恶的后门——消除NetBIOS隐患
· 网络入侵检测系统
· 潜伏在Windows默认设置中的陷井
· 调制解调器的不安全
· 构建Windows 2000服务器的安全防护林
· SQL Server 2000的安全配置
· Windows优化大师注册机源码
· Process Viewer 汉化版
· Aspcode动画教程
· WIN 2000服务器防止ICMP数据包攻击教程
· 实现网络隐身的简单方法
· 手工进行克隆帐号
· 用W32DASM破解网页合并器的密码
· 注册表操作动画教程
· 黑客攻防技术宝典:Web实战篇(第2版)
· 超级网管员——网络安全
· 代码大全(第二版)
· 软件之道:软件开发争议问题剖析
· CSS插件工具箱
· CSS入门经典(第3版)
· C#并行编程高级教程:精通.NET 4 Pa
· CMMI+敏捷整合开发
c#工厂模式与抽象工厂模式
深刻理解C#的传值调用
c#工厂模式与抽象工厂模式
C#与Visual Basic的
▪ 深刻理解C#的传值调用和传引用调用
▪ C#模拟键盘鼠标之二:错误跳转以及内存
▪ C# 播放铃声最简短的代码实现方式
▪ C#4.0新特性(3):变性 Variance(逆
▪ C#与Visual Basic的异与同

分类:默认分类 时间:2012-01-04 人气:3
本文关键词:
分享到:

相关文章

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.062 (s). 9 q(s)