1700455050
1700455051
benz.run();
1700455052
1700455053
}
1700455054
1700455055
}
1700455056
1700455057
司机通过调用奔驰车的run方法开动奔驰车,其源代码如代码清单3-2所示。
1700455058
1700455059
代码清单3-2 奔驰车源代码
1700455060
1700455061
public class Benz{
1700455062
1700455063
//汽车肯定会跑
1700455064
1700455065
public void run(){
1700455066
1700455067
System.out.println(“奔驰汽车开始运行……”);
1700455068
1700455069
}
1700455070
1700455071
}
1700455072
1700455073
有车,有司机,在Client场景类产生相应的对象,其源代码如代码清代3-3所示。
1700455074
1700455075
代码清单3-3 场景类源代码
1700455076
1700455077
public class Client{
1700455078
1700455079
public static void main(String[]args){
1700455080
1700455081
Driver zhangSan=new Driver();
1700455082
1700455083
Benz benz=new Benz();
1700455084
1700455085
//张三开奔驰车
1700455086
1700455087
zhangSan.drive(benz);
1700455088
1700455089
}
1700455090
1700455091
}
1700455092
1700455093
通过以上的代码,完成了司机开动奔驰车的场景,到目前为止,这个司机开奔驰车的项目没有任何问题。我们常说“危难时刻见真情”,我们把这句话移植到技术上就成了“变更才显真功夫”,业务需求变更永无休止,技术前进就永无止境,在发生变更时才能发觉我们的设计或程序是否是松耦合。我们在一段貌似磐石的程序上加上一块小石头:张三司机不仅要开奔驰车,还要开宝马车,又该怎么实现呢?麻烦出来了,那好,我们走一步是一步,我们先把宝马车产生出来,实现过程如代码清单3-4所示。
1700455094
1700455095
代码清单3-4 宝马车源代码
1700455096
1700455097
public class BMW{
1700455098
1700455099
//宝马车当然也可以开动了
[
上一页 ]
[ :1.70045505e+09 ]
[
下一页 ]