Java设计模式:在大量实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。
一、单例的设计模式:使得一个类只能创建一个对象。
实现1(饿汉式):1.私有化构造器,使得在类的外部不能够用此构造器;
2.在类的内部创建一个类的实例;
3.私有化此对象,通过公共的方法来调用;
4.此公共的方法只能通过类来调用,因此该方法为静态方法,同时类的实例也必须是静态的(static);
实现2(懒汉式):基本步骤与实现1一致,只是懒汉式的实例在初始时为null,然后在首次调用方法获取实例的时候再创建。
注:懒汉式可能存在线程安全问题;
二、模板方法设计模式:抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会保留抽象类的行为方式。
解决的问题:1)当功能内部一部分实现是确定,一部分实现是不确定的,这时可以把不确定的部分暴露出去,让子类来实现;
2)编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类。