创建型模式包含5种,分别是单例,工厂方法,抽象工厂,原型模式,建造者模式,下面我将工厂方法和抽象工厂都放到了工厂模式中:
1.单例模式
饿汉:一开始就创建对象,不用到它也存在,浪费内存 懒汉:调用时创建对象,线程不安全
2.工厂模式
简单工厂:违反开闭原则(某一类产品) 工厂方法:满足开闭原则,代码复杂,种类多,类实现工厂方法的单独类会非常多(某一类产品) 抽象工厂:多种类产品,新加一类产品,对应的工厂类都需要修改,且只能是一次使用某一类的产品 如:操作系统使用软件,输入法换皮肤等
3.原型模式:原型本质就是克隆
浅克隆:实现Cloneable,对象创建复杂时可快捷创建对象使用,性能安全要求较高 深克隆:除克隆属性外,还可以克隆包含的对象,使用对象操作流使克隆的对象不同,需要实现序列化接口Serializable,流程如下: 输出流--->写入对象---->释放资源, 输入流---->读取对象---->释放资源
4.建造者模式
注重组装的过程,最终产生一个产品 一般和抽象工厂一起组合使用