前面几篇文章已经把创建型设计模式都介绍了,来做一个简单的总结。
创建型设计模式,就是用来创建对象的设计模式,根据要创建的对象的复杂度以及是否允许多实例以及是否需要容易扩展等多方面考虑去选择合适的设计模式来创建对象。
Summary#
单例模式(Singleton)#
需要保证保证一个类仅有一个实例的时候需要考虑使用单例模式,搭配依赖注入框架使用会更香哈
原型模式(Prototype)#
对象频繁复制,对象的大多数元素(属性/字段)相同,需要频繁创建对象考虑使用原型模式,让对象创建更容易,需要注意深复制浅复制区别
建造者模式(Builder)#
对象比较复杂,需要大量的配置参数,创建过程复杂,考虑使用建造者模式,让复杂的创建过程简单化
抽象工厂(AbstractFactory)#
抽象工厂,提供一系列相关或相互依赖对象的接口,而无需指定他们具体的类,由具体的工厂创建具体类型的实例
工厂方法(FactoryMethod)#
工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到子类。
类的创建由具体的工厂相应的方法创建具体的实例
More#
抽象工厂的工厂是类;工厂方法的工厂是方法。
抽象工厂关键在于产品之间的抽象关系,所以一般至少要两个产品;工厂方法在于生成产品,不关注产品间的关系,所以可以只生成一个产品。
Reference#
- https://www.cnblogs.com/weihanli/p/factory-patterns.html
- https://www.cnblogs.com/weihanli/p/13303393.html
- https://www.cnblogs.com/weihanli/p/prototype-pattern.html
- https://www.cnblogs.com/weihanli/p/builder-pattern.html
- https://github.com/WeihanLi/DesignPatterns