常用的设计模式(单例、建造者、观察者、模板模式、工厂模式)

单例:常用的有两种写法,① 饿汉式  线程安全,不过类创建时对象实例就创建好了。② 懒汉式  线程不安全,如果加锁解决线程安全那就变成同步了,性能受损,可以使用静态类解决安全问题

建造者:开发中经常用到,只不过自己倒不会使用建造者模式开发个功能类,我们经常使用的glide、okhttp、dialog就是使用的建造者模式,解耦好,根据不用的bulider有不用的扩展。

观察者:另外说一下接口监听也是观察者思想,只不过这是一对一的,而观察者可以是一对多、多对多。Rxjava就是很好的证明。

模板:我们开发中肯定不知不觉会用到这个,假如好几个类都会用到一个方法,那我们就把这个方法的核心代码抽取到一个抽象类中,然后我们的工具类再去继承这个类,编写适合每个类所需求的功能

工厂:bitmapFactory就属于简单的工厂类,根据不同参数生成bitmap对象,写一个功能接口,创建然后实现这个接口的不同类,再创建一个factory来管理所需实现类的new。工厂模式降低了对象之间的耦合度,也易于扩展。

你可能感兴趣的:(常用的设计模式(单例、建造者、观察者、模板模式、工厂模式))