外观Facade模式介绍
外观模式在平时的开发中使用频率非常高,外观设计模式通过给用户暴漏一个单一的入口,来屏蔽子系统的实现细节,而且由于只有一个统一的入口供用户使用,降低了用户的使用成本。
外观模式的图示
Android源码中外观模式的体现
1、Context中有很多方法,比如startActivity,sendBroadCast等,
startActivity的实现在this.mMainThread.getInstrumentation().execStartActivity方法中实现。
sendBroadcast的实现ActivityManagerNative.getDefault().broadcastIntent中实现。
很显然,暴漏给用户的是统一的接口Context,但是底层却是通过不同的接口实现,这个地方体现了外观设计模式。
2、比如TextView控件,TextView暴漏出来了很多的接口供我们使用,比如setText,setOnClickListener等,但是底层确实调用了不同的接口去实现,用户并不知道具体的实现,这就是一种外观设计模式的体现。
3、比如图片框架Glide,暴漏给用户的只有下面的一个接口供用户使用。
Glide.with(context).load(uriString).into(thumbnailView);