桥接模式:把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。其实我们经常用的mvc就是典型的桥接模式:
package com.jerry.design.bridge;
// 测试类
public class Test {
public static void main(String[] args) {
Dao dao = new DaoImpl();
Service service = new serviceImpl(dao);
service.serviceMethod();
}
}
interface Service{
public void serviceMethod();
}
interface Dao{
public void daoMethod();
}
class DaoImpl implements Dao{
@Override
public void daoMethod() {
System.out.println("i am a daoImpl daoMethod()!");
}
}
class serviceImpl implements Service{
public Dao dao;
public serviceImpl(Dao dao) {
super();
this.dao = dao;
}
@Override
public void serviceMethod() {
dao.daoMethod();
}
}