ProtoType 、Visitor

Definition

Specify the kind of objects to create using a prototypical instance, and create new objects by copying(cloning) this prototype.


原型模式属于 创建型模式, 它的关键点在于,在创建对象时不是通过 new一个对象(要负责其初始化的状态)而是通过复制一个已有的对象, 这样就把把初始化对象状态的责任摆脱掉了,有些 依赖反转 的味道。

当然真正的依赖反转(依赖注入)是指  “只声明需要什么对象,而完全不管该对象是如何创造的



另一个容易让人迷惑的模式是 Visitor模式 , visitor模式存在的必要性是可以使用 “双重分派”, 

Overloading 方法、private 方法、final方法、 static方法 的静态分派, Overridig 方法的动态分派。


面向对象的程序中有Overloading(重载)和Overriding(重写)两种概念。

Overriding是指子类重写父类中已有的方法,那么如果一个对象,虽然被申明为父类类型,但是赋值是子类类型,那么在对该对象调用方法时,程序将自动的调用子类中的方法,而回避父类中已有的方法。 这一点是在运行时才能够判断的。这个是动态分派。

Overloading是指一个类中,多个同名方法,但是参数不同,有的是父类对象,有的是子类对象。那么在调用这个同名方法时,JVM会自动地根据传入的参数的声明类型而调用不同的方法。 这一点是在编译时就已经决定了的。这个就是静态分派。

参考:http://blog.csdn.net/superbeck/article/details/5325991

你可能感兴趣的:(ProtoType 、Visitor)