1

レガシー Java コードにトレース診断を追加する方法を検討しています。この意味でのレガシーとは、どのメソッドも変更できないことを意味します。次のオブジェクトを検討する場合:

public class ClassIOwnAndCanChange {

    public static void main(String[] args) {
        // store my object here that I want to make
        // available in LegacyClassA and B
        myMethod("foo", 100);
    }    

}

public class LegacyClassA {

    // method I cannot change
    public void myMethod(String name, int timer) {

        //want to get my 'injected' object here so that I can, 
        //for instance, time this method
        methodCallThatTakesSomeTime("some param");

    }  

}

public class LegacyClassB {

    // method I cannot change
    public void methodCallThatTakesSomeTime(String name) {
        // want to get my 'injected' object here for
        // diagnostic reasons

    }

}

私は A を所有しており、B と C でオブジェクトを使用できるようにしたいと考えています。A が B で呼び出すメソッドと B が C で呼び出すメソッドを変更せずに Java でこれを行う正しい方法は何ですか?

4

1 に答える 1