Builder 模式:
使用场景:
1、相同的方法,不同的执行顺序,产生不同的事件结果。
2、多个部件或零件,都可以装配到一个对象中,但是产生的运行结果又不相同。
3、产品类非常复杂,或者产品类中调用顺序不同产生了不同的作用。
4、当初始化一个对象特别复杂,入参数多,且很多参数都具有默认值。
原型模式
使用场景:
1.类初始化需要消化特别多的资源,这个资源包括数据、硬件资源等,通过原型拷贝避免这些消耗。
2、通过new产生一个对象需要非常繁琐的数据准备或访问权限,这时可以使用原型模式。
3、一个对象需要提供给其他对象访问,而且个个对象可能都需要修改其值,可以考虑同过原型模式拷贝多个对象供调用者使用,即保护性拷贝。
clone的使用 浅拷贝 和深度拷贝
登录模块通过原型模式 与包级私有方法,保证用户对象不会因为不小心修改了影响整体代码错误
工厂模式
在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。