浅析几种Android设计模式

xiaoxiao2021-02-28  34

单例模式

确保单例类只有一个实例,并且这个单例类提供一个函数接口让其他类获取到这个唯一的实例。

相对完美的单例写法

public class Singleton{ private volatile static Singleton instance;//volatile修饰会去堆里拿最新的数据 //将默认的构造函数私有化,防止其他类手动new private Singleton(){}; public static Singleton getInstance(){ if(instance==null){ sychronized(Singleton.class){ if(instance==null) instance=new Singleton(); } } return instatnce; } }

Builder模式

主要是在创建某个对象时,需要设定很多的参数(通过setter方法),但是这些参数必须按照某个顺序设定,或者是设置步骤不同会得到不同结果。这主要是用于链式调用,这也是Builder设计模式中的一个很明显的特征。

public class MyBuilder{ private int id; private String num; public MyData build(){ MyData d=new MyData(); d.setId(id); d.setNum(num); return t; } public MyBuilder setId(int id){ this.id=id; return this; } public MyBuilder setNum(String num){ this.num=num; return this; } } public class Test{ public static void main(String[] args){ MyData d=new MyBuilder().setId(10).setNum("hc").build(); } }

工厂模式

定义一个创建对象的接口,让子类决定实例化哪个类(策略模式、状态模式类似)

public abstract class Product{ public abstract void method(); } public class ConcreteProductA extends Prodect{ public void method(){ System.out.println("我是产品A!"); } } public class ConcreteProductB extends Prodect{ public void method(){ System.out.println("我是产品B!"); } } public abstract class Factory{ public abstract Product createProduct(); } public class MyFactory extends Factory{ public Product createProduct(){ return new ConcreteProductA(); } }

文章内容部分引用:http://www.jianshu.com/p/1a9f571ad7c0

转载请注明原文地址: https://www.6miu.com/read-2150192.html

最新回复(0)