为什么构图要遵循“开放扩展,接近修改”的原则?
我理解:如果您想在类中添加功能,您只需编写新代码并使用组合来获取该代码。
但是你只是修改你有组合的代码吗?因为您将组合添加到该代码中,所以您修改了该代码。
例子:
之前,是这样的:
public class Example{
public void Walk(){
//walking
}
}
之后:
public class Example{
RunClass r = new RunClass(); // I add this
public void Walk(){
//walking
}
public void Run(){ // I also add this
r.run();
}
}
所以这意味着我修改了这个类。