2
是否可以在不更改方法的情況下向鉤子添加鉤子?例如:在不更改源代碼的情況下添加鉤子
public class class1{
public void method1(){}
}
public class class2{
public void method2(){}
}
現在,我怎麼能執行方法2()每次當方法1()被執行,在不改變的Class1什麼?
是否可以在不更改方法的情況下向鉤子添加鉤子?例如:在不更改源代碼的情況下添加鉤子
public class class1{
public void method1(){}
}
public class class2{
public void method2(){}
}
現在,我怎麼能執行方法2()每次當方法1()被執行,在不改變的Class1什麼?
這被稱爲AOP或Aspect Oriented Programming,並通過字節碼操作實現。
Spring includes facilities for AOP。
AOP的詳細描述對StackOverflow來說太長了,而且冗餘,因爲網上有很多好的資源。
使用'裝飾模式'來擴展class1的功能。這種方法需要更改調用class1的代碼