1. 工厂模式
工厂模式:是属于创建型的模式, 创建型模式简单的理解就会创建对象并返回相应的实例。所以它关注的是谁创建它,它是怎样被创建的,以及何时创建这些方面给予你很大的灵活性。
简单工厂模式:又叫静态工厂方法模式, 它定义一个具体的工厂类,通过用静态方法来负责创建一些类的实例。 也就是说, 这个类集合了部分功能类似或近似类的实例化,但工厂类无法被继承。(只有一个工厂类,通过该类中静态方法,来创建产品类的对象,随着产品类的增多,该静态方法也越来越复杂和难以维护)
工厂模式:通过一个工厂类来完成对象的实例化。工厂模式,在调用的时候需要先实例化工厂类, 再通过工厂类来返回一个子公司对象类, 工序发生了变化。(建一个工厂抽象类,每增加一个新的产品类时,增加一个产生该产品的工厂类(继承工厂抽象类),实例化的时候,生成一个产品对象时,先实例化厂类, 再通过工厂类来返回一个子公司对象类),根据不同的产品创建不同的工厂类来返回实例。
抽象工厂模式:其实分为:抽象工厂类,实现抽象工厂类的具体返回实例的工厂类,抽象产品类,具体产品类,和工厂模式差不多, 区别就是抽象工厂模式把一系列的产品进行统一。
抽象工厂模式中,我们会把一系列相似的产品放在一个工厂类里面实例化,和现在车间的流水线差不多,一个流水线负责生产相似的产品, 不同的产品需要另一条流水线来生产。工厂模式是针对细微的产品来创工厂类
2. 创建者模式:强调的是封装。
用二维列表来表示两者间的关系:
部门\费用 |
销售费用 |
管理费用 |
办公费用 |
广州子公司\财务部 |
|||
广州子公司\总务部 |
|||
深圳子公司\财务部 |
|||
深圳子公司\总务部 |
不同子公司,不同部门的各项费用。
部门用 工厂模式
费用类型用 创建者模式
3. 原型模式:就是把一个对象复制出另一个对象, 但二个对象是独立的
4. 单例模式:一个类只有一个实例。