Java设计模式之桥接模式

Java设计模式之桥接模式

今天要了解的是java常用设计模式中的桥接模式,桥接模式的中心思想就是将抽象与抽象实现分离出来。比如我们可以举一个例子,我们每天都要上下班,那我们可以有很多种选择,比如公交车,私家车,或者电动车。那我们此时如果用面向对象的方式可以设计一个父类Car,有个drive方法,然后又可以设计出来它的几个子类,比如BusCar,PrivateCar,DiandongCar,然后各自实现自己要实现的具体方法逻辑,然后我们平时上班,有时候因为特殊情况也许会有不同的路线选择上下班,那我们这个时候要设计个父类Road,然后设计子类,比如有科学大道,有瑞达路,那么就有KexueRoad,RuidaRoad,那么这个时候,我们可能就有很多种选择,开不同的车,走不同的路,这个时候类的继承关系就会比较混乱,那么这个时候应该如何做呢,桥接模式就是最好的选择了,思考以下,我们现在有两个引起类变化的方向,一个是车Car,一个是路Road,根据类的单一职责原则,也就是类只能有一个引起他变化的原因,那我们就要把抽象与抽象实现分离开来,我们可以在Road类中持有一个Car类型的引用(因为Car是基类,也就是抽象出来的类(这么说有点不合适,这只是一个思想)),当所有Road的子类需要调用Car的方法时,可以自己根据实际情况去持有Car的子类,这样就可以将抽象与抽象实现分离,互不影响。也就是说,当你设计的类一旦有两个引起它变化的方向的时候,你就应该考虑用桥接模式来改进你的系统了。

你可能感兴趣的:(java设计模式)