设计原则:

1、面向接口编程(面向抽象编程)
2、封装变化
3、多用组合,少用继承
4、对修改关闭,对扩展开发,不要修改原来的方法.
举例:
1、接口
//适配器
class Adapter implements BiteAction{
private TickleAction tickleAction;
public Adapter(TickleAction tickleAction){
this.tickleAction = tickleAction;
}
@Override
public void doBiteSamthing() {
this.tickleAction.doTickleSamthing();
}
}
//接口
interface BiteAction{
void doBiteSamthing();
}
class DogActionImpl implements BiteAction{
@Override
public void doBiteSamthing() {
System.out.println("狗开始咬人");
}
}
interface TickleAction{
void doTickleSamthing();
}
class CatActionImpl implements TickleAction{
@Override
public void doTickleSamthing() {
System.out.println("猫开始挠人");
}
}调用:
public static void doSomthing(BiteAction bite){
System.out.println("正在发生");
bite.doBiteSamthing();
System.out.println("结束发生");
}TickleAction action = new CatActionImpl(); Adapter adapter = new Adapter(action); doSomthing(adapter);
2、抽象类
abstract class AnimalAction{
public void doBiteSamthing(){}
public void doTickleSamthing(){}
}
class Animal extends AnimalAction{
@Override
public void doTickleSamthing() {
// super.doTickleSamthing();
System.out.println("猫开始挠人");
}
}你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧