自己的理解:
1,耦合。当一个类里有另个一个具体类的引用的时候,就说这两个类就耦合的。当我知道你是具体什么类的时候,我和你就是耦合的。
2,解耦。当一个类里有另一个抽象类的引用的时候,就说这两个是解耦的。当我不知道你的具体类的时候,我和你是解耦的。
3,类型与类的区别。两个不同的类具有相同的基类就说这两个不同的类具有相同的类型。
4,抽象类。不知道具体实现是什么或者只知道默认实现,让具体实现延迟到子类。
5,工厂方法,简单工厂,抽象工厂区别。
工厂方法 | 无抽象层次。仅仅是一个封装具体类的实例化的过程(return new someclass) |
简单工厂 | 无抽象层次。通过参数决定创建某个具体类的对象 |
抽象工厂 | 有抽象层次。抽象工厂下有多个具体工厂子类。每个具体工厂创建具体对象。 |
创建者模式 | 通过多个步骤创建一个复杂产品(组件集合,组件可选)。提供返回创建好的复杂产品的接口。非立即返回所创建的复杂产品。 |
工厂模式 | 创建简单产品。立即返回所创建的对象。 |