工厂模式学习报告ppt课件
- 格式:ppt
- 大小:853.50 KB
- 文档页数:28
由浅入深学“工厂模式”(1)2007-03-25 17:131、传授设计模式中存在的问题我个人最近对设计模式中的工厂模式进行了比较深入的学习,通过学习感悟出,现在很多设计模式传道者,在讲述设计模式的过程中存在一些问题,使得设计模式变得很难理解。
设计模式本身很抽象,但是这些传道者在讲述的过程中,将一个抽象的东西讲的更抽象,从而使我们望而却步。
有些人在讲述的时候,没有考虑读者的注意力。
比如我在看《C#设计模式》的时候,在讲述抽象工厂模式的时候,直接就进入了一个示例,而且这个例子比较复杂,涉及了比较多的概念、术语,而且还有算法要处理。
但是这些和要讲述的核心内容无关,我想要看懂他的示例就要将这个东西都搞懂,就分散了我的注意力。
我个人总结,学习设计模式的方法是,首先找到一个突破口,比如可以先学习构造型模式中简单的模式,将它理解、熟练应用。
通过对一、两个模式有一个深入的认识之后,再学习其它比较复杂一点的模式就容易多了,这是一种迭代的思想在学习中的应用。
另外学习任何一种设计模式的过程应该是具体-抽象-再具体这个的一个过程。
这句话的意思是首先通过一个比较具体一点的例子来帮助理解设计模式,在理解之后将你的理解扩展到解决这一类问题,上升到一定的理论高度。
然后就是再到具体,也就是应用设计模式,应用理论解决自己遇到的实际问题。
2、学习工厂模式的预备知识:首先声明这些预备知识并不是工厂模式仅仅需要,因为我先讲述工厂模式,所以在学习工厂模式之前将这些问题提出。
2.1 Upcasting:Upcasting中文翻译有好几个,比如向上类型转换、向上转型、上溯造型。
我个人比较喜欢向上转型这个翻译,即简单又含义明确。
向上转型这个概念,我在Bruce Eckel的Thinking in c++、Thinking in Java中都看到过,我不是很确定这个概念是否是他提出来的。
向上转型是把一个派生类当作它的基类使用。
我们将一个更特殊的类型转换到一个更常规的类型,这当然是安全的。