Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Event Driven은 Eventsourcing을 하기 위한 선행과제이며 이것만 으로 큰 주제 이기 때문에 아래링크를 참고합니다포함하여 다양한 자료를 보시는것을 권장합니다. 

참고링크:

이벤트드라이븐이벤트드리븐(한글자료)

이벤트드라이븐이벤트드리븐(영문자료)

EventSourcing

메시지설계

Code Block
languagejava
themeEmacs
class Cmd implements Serializable {
    private static final long serialVersionUID = 1L;
    private final String data;

    public Cmd(String data) {
        this.data = data;
    }

    public String getData() {
        return data;
    }
}


class Evt implements Serializable {
    private static final long serialVersionUID = 1L;
    private final String data;

    public Evt(String data) {
        this.data = data;
    }

    public String getData() {
        return data;
    }
}

class ExampleState implements Serializable {
    private static final long serialVersionUID = 1L;
    private final ArrayList<String> events;

    public ExampleState() {
        this(new ArrayList<>());
    }

    public ExampleState(ArrayList<String> events) {
        this.events = events;
    }

    public ExampleState copy() {
        return new ExampleState(new ArrayList<>(events));
    }

    public void update(Evt evt) {
        events.add(evt.getData());
    }

    public int size() {
        return events.size();
    }

    @Override
    public String toString() {
        return events.toString();
    }
}

...