代理模式:
跟策略模式是不同的, 同类之间相互代理使用.
1.来个手机接口
public interface Phone {
void call();
}
2.来一部华为手机
public class HuaWeiPhone implements Phone{
private static final String TAG = "HuaWeiPhone";
@Override
public void call() {
Log.e(TAG, "call: ");
}
}
3. 老王媳妇声音超级好听, 全村人都想要她帮忙打电话.
public class StaticProxyManager implements Phone {
private Phone mPhone;
public StaticProxyManager() {
}
public StaticProxyManager(Phone phone) {
mPhone = phone;
}
@Override
public void call() {
mPhone.call();
}
}
4. 我特意去商店了一部华为手机, 去找老王媳妇,让她帮忙拨个号. 下次买个小米手机,也让她帮忙试试.
public class Test {
public void test() {
StaticProxyManager staticProxyManager = new StaticProxyManager(new HuaWeiPhone());
staticProxyManager.call();
}
}