java设计模式
单例模式--线程安全的单例,懒汉式、饿汉,枚举等
享元设计模式:Message--obtain,,String
public static void main(String[] args) { String s1 = "hello"; String s2 = new String("hello"); String s3 = "hello"; System.out.println(s1 == s2); //false System.out.println(s1.equals(s2)); //true System.out.println(s1 == s3); //true }
代理模式:静态代理,动态代理:可以通过一个代理类完成全部的代理功能,接口中声明的所有方法都被转移到调用处理器一个集中的方法中处理(InvocationHandler.invoke
)
抽象代理模式:
简单工厂模式:用一个集中式的对象管理工具,将所有对象的创建过程管理起来,,,不负责单一、开闭原则
工厂方法模式:为每一个种类单独建立一个工厂,有新的品种产生直接拓展工厂,,,ThreadFactory接口,使用工厂模式创建线程,,,实现其newThread方法
抽象工厂模式:有关联的产品合并
建造者模式:Android中的AlertDialog.Builder就是使用了Builder模式来构建AlertDialog的,,,new OkHttpClient.Builder,
观察者模式:RxJava--observer,,, 点击事件,button是被观察者、View.OnClickListener是观察者,,,jetPack中,ViewModel中定义
MutableLiveData,然后让其暴露出来,。。可以在View层使用observe
private MutableLiveData loginData = new MutableLiveData(); //暴露 public MutableLiveData getLoginData(){ return loginData; }
testViewModel.getLoginData().observe(getViewLifecycleOwner(), new Observer() { @Override public void onChanged(Object o) { } });