使用环境:

多个类有相同的方法,但具体实现都不一样。

需要有一个接口来统一个子类的方法。

在客户端中需指定要使用的子类。

缺点:每种策略都是一个子类,要维护的类变多

Tagged with:  

用途:将一个类的实例化延迟到其子类。

特点:客户端不必知道需要返回的子类的名称。工厂根据客户端给出的不同条件返回相应子类。

缺点:工厂类中包含大量逻辑判断代码,以决定返回的子类。如需添加新的子类,则要修改工厂代码。

Tagged with:  

都是自己的看法,如有错误,欢迎指正。

继承: B is_a A,则B可继承A.

A has_a B,则B不可继承A
多态:不同对象用各自代码执行相同的动作
抽象类:实例化后没有任何意义的类可改成抽象类,对类的抽象
接口:一个封装特定功能的集合,对行为的抽象
不同的类要实现同样的动作用接口,相似的类用抽象类。

Tagged with: