Android基础进阶day02 [01]Command设计模式
原创
©著作权归作者所有:来自51CTO博客作者翁老师的教学团队的原创作品,请联系作者获取转载授权,否则将追究法律责任
摘要
在图形化编程领域,都带一个 图形库,这个图形库的控件十分灵活,耦合度低。
一个按钮的强大:
登录,注册,CRUD....体现出灵活性与扩展性,其实就是耦合度低.
1.1. 耦合度低
比方:手机与电池
Iphone6电池与机身连接在一块独立性差,小米的相反,电池为可挺拔,灵活性强,耦合底低
1.2. 接口interface
接口引用可以降低耦合度
案例:GoodDao
有个GoodDao先是用jdbc实现技术,后来要求生成hibernate的实现,有时又换成jpa的实现,写个类简单,但是这个类可以之前被10000000不止地方引用?如果之前是耦合底低的设计此时就方便了,如用反射与properites设计
1.3. 图形库Button模拟示意
使用Command设计模式开发一个按钮步骤 。低耦合在开发图形控件 command设计模式/菜单
开发要点
1.申明接口
//特点:On....Listener
public static interface OnClickListener {
public void onClick(View view);
}
2.控件内部申明接口引用
private OnClickListener listener;//低耦合引用
public void setOnListener(OnClickListener listener) {
this.listener = listener;
}
3.系统调用
...
if (this.listener != null) {
this.listener.onClick(view);
}
....
调用方式
MyButton login = new MyButton();
login.setOnListener(new OnClickListener() {
@Override
public void onClick(View view) {
// 登录
System.out.println("登录1000");
}
});
MyButton register = new MyButton();
register.setOnListener(new OnClickListener() {
@Override
public void onClick(View view) {
// 注册...
System.out.println("注册1000");
}
});
// 系统调用
login.work(null);
register.work(null);