IT行业,一直讲一句话,拼到最后都拼的是“内功”,而内功往往就是指我们处理问题的思路、经验、想法,而对于开发者来说,甚至对于产品也一样,都离不开一个“宝典”,就是设计模式。今天我们一起借助Android源码去探索一下代理模式的优缺点,以及它所想要去解决的问题。同时结合我工作经验中的一个小例子,来总结实践一下。
1.背景&定义
理解:
代理模式是结构性设计模式的一种。在软件开发中我们常常会遇到这样的情况,有些对象,我们不想客户端可以直接访问,或者我们不想客户端可以访问到这个对象的一些操作方法,所以需要一个“中介”的角色。举个例子,卖房子的人为了减少频繁的电话&看房等麻烦,会把自己的房子托给中介,中介替他去找合适的买家,针对于买房的人来说,买这套房子,只能通过中介去了解,而不能直接打电话给房主。
定义:
为一个对象提供一个替身,以控制对这个对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。