1. 中介设计模式定义
1>:定义:多者之间不可以直接改变,需要通过一个中介来做处理;
中介设计模式,其实就是和事佬,起一个中介的作用;
2>:使用场景:比如有一个EditText输入框、Button登录按钮,EditText与Button不能相互操作对方,必须通过Activity这个类,必须把EditText与Button这两个控件写到Activity这个类中,然后这两个控件才有联系,而这个Activity就是中介;
2. 访问者设计模式
1>:定义:封装一些作用于某种数据结构中的各元素的操作,可以不改变这个数据结构的前提下定义作用于这些元素的新的操作;
比如我封装了一个类,但是我可以通过另外一个类来对其进行修改,封装的这个类它的所有属性应该是不受保护的,也就是说封装的这个类的属性不能是private私有的,否则别人想修改也改不动
2>:使用场景:ButterKnife、Dagger
3. 备忘录设计模式
1>:定义:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个对象,这样的话,以后就可以将该对象恢复到原来的状态;
命令设计模式也是可以做到这个撤销和状态恢复的,但是更加强调的是命令;