由浅入深学“工厂模式”.pdf

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
整理文本 由浅入深学“工厂模式” (1) 2007-03-25 17:13 1、 传授设计模式中存在的问题 我个人最近对设计模式中的工厂模式进行了比较深入的学习, 通过学习感悟 出,现在很多设计模式传道者, 在讲述设计模式的过程中存在一些问题, 使得设 计模式变得很难理解。设计模式本身很抽象,但是这些传道者在讲述的过程中, 将一个抽象的东西讲的更抽象, 从而使我们望而却步。 有些人在讲述的时候, 没 有考虑读者的注意力。比如我在看《 C# 设计模式》的时候,在讲述抽象工厂模 式的时候, 直接就进入了一个示例, 而且这个例子比较复杂, 涉及了比较多的概 念、术语,而且还有算法要处理。但是这些和要讲述的核心内容无关,我想要看 懂他的示例就要将这个东西都搞懂, 就分散了我的注意力。 我个人总结, 学习设 计模式的方法是, 首先找到一个突破口, 比如可以先学习构造型模式中简单的模 式,将它理解、熟练应用。通过对一、两个模式有一个深入的认识之后,再学习 其它比较复杂一点的模式就容易多了, 这是一种迭代的思想在学习中的应用。 另 外学习任何一种设计模式的过程应该是具体-抽象-再具体这个的一个过程。 这 句话的意思是首先通过一个比较具体一点的例子来帮助理解设计模式, 在理解之 后将你的理解扩展到解决这一类问题, 上升到一定的理论高度。 然后就是再到具 体,也就是应用设计模式,应用理论解决自己遇到的实际问题。 2、学习工厂模式的预备知识: 首先声明这些预备知识并不是工厂模式仅仅需要,因为我先讲述工厂模式, 所以在学习工厂模式之前将这些问题提出。 . 整理文本 2.1 Upcasting: Upcasting中文翻译有好几个,比如向上类型转换、向上转型、上溯造型。 我个人比较喜欢向上转型这个翻译, 即简单又含义明确。 向上转型这个概念, 我 在 Bruce Eckel的 Thinking in c++ 、Thinking in Java中都看到过,我不是很确定这 个概念是否是他提出来的。 向上转型是把一个派生类当作它的基类使用。 我们将 一个更特殊的类型转换到一个更常规的类型, 这当然是安全的。 派生类是基类的 一个超集。 它可以包含比基类更多的方法, 但它至少包含了基类的方法。 向上转 型给我们带来的好处就是我们可以将不同的派生通过一种统一的方式进行处理。 向上转型带来的弊端就是我们向上转型的过程会丢失派生类的接口。 既然有向上 转型,也就有向下转型即 DownCasting,我们在此不做详细讨论。下面使用一个 例子来示例向上转型。 public class Base { public void Test() { MessageBox.Show("OK"); } } public class Derive:Base {} private void button1_Click(object sender, System.EventArgs e) { Base b=new Derive(); b.Test(); } 2.2 多态 我不敢想象离开了多态后的设计模式是一个什么样

文档评论(0)

霸霸
该用户很懒,什么也没介绍

相关文档

相关课程推荐