一、问题
如何使用相同的接口在不同的场景使用不同的对话框?
二、选型
使用代理模式,声明相同的接口,用来设置标题、确认按钮、取消按钮的文案、样式等,
在构造函数中传入对应的类型,在代理主题中根据类型实例化不同的真实主题,使用
同样的接口完成不同真实主题的初始化,因为各种类型的对话框可以抽象出相同的几个
接口,例如标题,背景,文案等。
三、使用
代理模式由三部分构成:
1.抽象主题,声明代理主题和真实主题共同的接口;
2.代理主题,持有真实主题的引用,在各个接口调用真实主题的接口,可以做一层封装;
3.真实主题,实际对象,由代理主题调用对应的接口来完成各个事件;
真实主题中通过抽象主题声明的接口完成代理主题与真实主题的通信,代理主题调用真实主题,
代理主题中通过抽象主题声明的接口完成用户与代理主题的通信,用户调用代理主题,
四、结论
使用代理模式可以降低耦合性,完成多个对象的统一化控制,而且还相当于隔离了用户与真实主题,
因而可以在代理主题调用真实主题前做一些其他的操作,在产品迭代中能通过这里的操作的修改完成
新的特性而不影响真实主题原有的特性,从而不影响系统原有稳定性。