首页   关于我们   网站开发   wap网站开发  网站优化  网站案例   网站地图   联系我们   

网站首页 >> NET 框架中的 Factory 模式


NET 框架中的 Factory 模式

发布于:2008-10-28 已被阅读: 次 来源:上海松江网站建设

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 模式的基本结构图先发上来,另外本人还附一张相应的.net Encoding   实现的结构图,以便大家对比参照:         Factory 图         net Encoding 结构图         这里需要说明的是Factory 结构图中的SimpleFactory部分在Encoding 代码中被合并了,原因我猜应该是为了方便调用   和维护。如果把GetEncoding() 拿出来放到SimpleFactory中,也只是“搬个家”而已。另外就是封装到了Encoding中同样也   会出现工厂模式所不可回避的问题就是如果新增加一种编码怎么办?让我们看看微软所做的一些"尝试":       在GetEncoding(Int32)函数里的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 设置参见   http:网站建设网站制作.cppblog.com/shenhuafeng/archive/2008/04/05/21336.html       另外就是框架本身更新的速度还是非常快的(微软可能在将来某个版本中改动这部分的代码,但目前.net3.0   框架下未发生变化)。当然解决新加编码的方式不止一种,有人建议用反射,也有说用“factory method”的,这   里就不多做介绍了。(例如:http:网站建设blog.csdn.net/linzhisong/archive/2008/07/13/1687887.aspx)          还有一个地方就是如下对属性的声明    private static Encoding asciiEncoding;    public static Encoding UTF8;       ......     基本上对框架中主要的编码都有声明。目前根据我的理解只是为了方便使用才这样安排的。       因为这篇文章的内容只是学习.net框架时的“副产品”,因此里面的内容可读性不强,同时肯定会有偏颇之   处。如果大家有不同意见,希望回复本人,以纠正本人的误解,希望不要误导大家:)

网站建设相关信息

上海松江网站建设主要有哪些网络个人制作网站,松江企业网站制作应该如何选择建设网站的上海松江网络个人..

为什么要建设网站

企业为何需要做网站,企业做网站的目的是为什么,有的企业网站做了但一点效果也没有,那是因为企业没有让网站发挥作用..

联系方式

手机:13482597886

Q Q:41218056

Q Q: 41218056点击这里给我发消息

qq41218056@hotmail.com

上海兼职网站建设

英文网站建设与中文网站
日文网站建设-日文网站设计
走好电子商务网站的建设
八大要领 做网站就这么简单
电子商务十忌与建设网站
优秀网站制作的五大要素
网站功能设计的适用性评价
高级技巧:个性化网站设计
行业网站的设计心得
从网页到网络平台 网站开
网站文化与网页设计
一个成功的网站设计
网站建设项目合同撰写注意
企业如何准备网站建设资料
网站建设需要策划吗?
网络营销市场回顾与展望
企业网站建设有哪些不足

网站优化

网站推广时几点禁忌 上海
网站设计应注意的25条
网站策划方案写作、演示
网站推广技巧--实战中文
网站开发策划所需要的文档
企业网站推广效果分析
如何做好网站开发项目的
企业网站的推广漫谈 上海
最佳适合于网站海外推广
网站策划,需要什么的人才
网站策划与建设阶段网站推
网络营销中网站个性化设计