How to understand if property of a property of my class has changed

I have the following class

public class A {
   private int number;

   public int getNumber(){
       return number;
   }
   public void setNumber(int number){
       this.number = number;
   }
}

and then class B, which as a property is an object of class A.

public class B {
    private A member;

    public A getMember() {
         return member;
    }
    public void setMember(A member) {
          this.member = member;
    }
}

What I would like to do is to notify class B when changing an integer in class A.

I would like to have a notification mechanism without using Observable and Observer. Any ideas? Is there a suitable pattern besides the observer pattern?

EDIT: the reason I don't want to use the observer again is because class B is already extending java.util.Observable, and my ultimate goal is to let the class B observer learn about the changes in

private member A;

+4
source share
2 answers

A B ( ).

-

public interface A {
  void setNumber(int n);
  int getNumber();
}

public class B {
  private A member;
  private class AImpl implements A {
    public void setNumber(int n) {
      member.setNumber(n);
      notifyB();
    }
    public int getNumber() {
      int res = member.getNumber();
      notifyB();
      return res;
    }
  }
  public A getMember() {
    return new AImpl();
  }
  public void setMember(A member) {
    this.member = member;
  }
  private void notifyB() {
    // notification
  }
}

Proxy, .

0

, A . , A, (, String). , A, B- A A , - .

, , B , A B, set.

, A - , , , set, .

-1

Source: https://habr.com/ru/post/1544892/


All Articles