知识大全 .NET 框架中的 Factory 模式
Posted 框架
篇首语:努力让人有了奇迹般的进步,努力可以让人有了奇迹般的成功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .NET 框架中的 Factory 模式相关的知识,希望对你有一定的参考价值。
.NET 框架中的 Factory 模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Factory 模式是一种非常基本同时也是被广泛使用的设计模式 我在这里就不多说了 这种模式在框架程序设 计中经常被采用 今天就说一下在 NET 框架下的一个使用例子 首先请大家看一下如下代码段
int iCount = System Text Encoding Default GetByteCount(calStr Trim()); byte[] b = Encoding Default GetBytes(str); Encoding encode = Encoding GetEncoding(this FileEncode);
相信大家对于这样的代码司空见惯了吧 本人也是在使用很长一段时间之后 才对里面的实现方式发生兴趣的 在了解了基本的算法逻辑后 发现这个名Encoding这个抽象类的部分代码是使用 Factory 模式实现的 为了清楚说明这个问题 本人将Factory 模式的基本结构图先发上来 另外本人还附一张相应 Encoding 实现的结构图 以便大家对比参照 Factory 图 net Encoding 结构图 这里需要说明的是Factory 结构图中的SimpleFactory部分在Encoding 代码中被合并了 原因我猜应该是为了方便调用 和维护 如果把GetEncoding() 拿出来放到SimpleFactory中 也只是 搬个家 而已 另外就是封装到了Encoding中同样也 会出现工厂模式所不可回避的问题就是如果新增加一种编码怎么办?让我们看看微软所做的一些 尝试 : 在GetEncoding(Int )函数里的switch 有如下代码
switch (codepage) default: unicode = GetEncodingCodePage(codepage); if (unicode == null) unicode = GetEncodingRare(codepage); //当编码很少见时 break;
在GetEncodingRare里面有一些少见编码的实例化调用 具体的声明我就不多说了 大家可以用 Reflactor 到 mscorlib 下的System Text Encoding GetEncodingRare(int codepage)函数即可 看到里 面的还有一些没有实现的case 条件段大家就应该明白了 而有关codepage 设置参见 另外就是框架本身更新的速度还是非常快的(微软可能在将来某个版本中改动这部分的代码 但目 框架下未发生变化) 当然解决新加编码的方式不止一种 有人建议用反射 也有说用 factory method 的 这 里就不多做介绍了 (例如:) 还有一个地方就是如下对属性的声明
cha138/Article/program/ASP/201311/21701相关参考
知识大全 Factory Method模式在Javamail中的应用
FactoryMethod模式在Javamail中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
知识大全 设计模式(1)Factory模式和Abstract Factory模式
设计模式(1)Factory模式和AbstractFactory模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
知识大全 JavaScript模式之工厂模式(Factory)应用介绍
JavaScript模式之工厂模式(Factory)应用介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
Factory模式的优点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java深入分析之:使用FactoryMethod模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
了解ASP.NET中的IFRAME框架挂马 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安全工
知识大全 .net ajax 与Ext2框架在.net程序中的应用
.netajax与Ext2框架在.net程序中的应用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP.NETMVC框架中的URL路径选择场景 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! A
设计模式在EJB中的应用(下) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Factory模式
jive中的abstractFactory 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Abs