摘要

在图形化编程领域,都带一个 图形库,这个图形库的控件十分灵活,耦合度低。

一个按钮的强大:

登录,注册,CRUD....体现出灵活性与扩展性,其实就是耦合度低.

1.1. 耦合度低

比方:手机与电池

Iphone6电池与机身连接在一块独立性差,小米的相反,电池为可挺拔,灵活性强,耦合底低

 

Android基础进阶day02 [01]Command设计模式_耦合度

1.2. 接口interface

接口引用可以降低耦合度 

案例:GoodDao

有个GoodDao先是用jdbc实现技术,后来要求生成hibernate的实现,有时又换成jpa的实现,写个类简单,但是这个类可以之前被10000000不止地方引用?如果之前是耦合底低的设计此时就方便了,如用反射与properites设计

 

Android基础进阶day02 [01]Command设计模式_android开发_02

 

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);