设计模式——观察者模式

前言

学习设计模式是为了写出更优雅的代码

安卓开发中的监听器

其实认真观察发现,安卓中充斥着大量的监听器, 即观察者模式。下边简单实现下~

  1. 首先创建一个监听器接口
1
2
3
4
5
public interface OnClickListener {

void onClick(View view);

}
  1. 然后创建一个监听事件,这里是屏幕点击区域
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class View {
private String name;

public View(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}
  1. 被观察者
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Button {

private OnClickListener listener;

public void setOnClickListener(OnClickListener listener) {
this.listener = listener;
}

public void click() {
if (listener != null) {
listener.onClick(new View("点击按钮"));
}
}
}
  1. 测试
1
2
3
4
5
6
7
8
9
10
11
12
13
@Slf4j
public class Ex1 {
public static void main(String[] args) {
Button button = new Button();
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
log.info("收到事件: {}", view.getName());
}
});
button.click();
}
}

最后

本文到此结束,感谢阅读。如果您觉得不错,请关注公众号【当我遇上你】,您的支持是我写作的最大动力。