Quick actions

cmd+k|ctrl+k

Navigation

Languages

Java Observer Pattern 1-1

Snippet info

Language

Java

Visibility

public

Author

adnbsr

Created

2018-11-26T01:12:38Z

Updated

2018-11-26T01:13:20Z

/*To see difference in Observer Pattern*/
//https://medium.com/@ahmedrizwan/kotlin-design-patterns-the-observer-fc8e5a702b4c

interface ValueChangedListener{
    void onValueChange(String text);
}

class Printer implements ValueChangedListener{
    
    @Override
    public void onValueChange(String text) {
        System.out.println(text);
    }
}

class ObservableObject {
    
    private ValueChangedListener listener;
    private String text;
    
    public ObservableObject(ValueChangedListener listener) {
        this.listener = listener;
    }
    
    public void setText(String text) {
        if (text != this.text) {
            this.listener.onValueChange(text);
        }
        this.text = text;
    }
    
}


class Main {
    public static void main(String[] args) {
        ObservableObject sample = new ObservableObject(new Printer());
        sample.setText("Bekir");
        sample.setText("Bekir");
        sample.setText("Hasan");
    }
}
INFO