domain

package
v0.0.0-...-270b7bf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2015 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AggIdToStr

func AggIdToStr(id AggregateIdentity) string

聚合标识字符串形式

Types

type Aggregate

type Aggregate interface {
	// 初始化聚合
	Init(state AggregateState)
	// 当前聚合操作产生的变化,以一组事件来表示
	Changes() []Event
	// 将聚合操作创建的事件进行应用:更改聚合状态、记录到Changes中
	Apply(e Event)
}

聚合

type AggregateIdentity

type AggregateIdentity interface {
	// 单个聚合类型的唯一标识
	Id() string
	// 聚合类型标签
	Tag() string
}

聚合标识

type AggregateState

type AggregateState interface {
	// 初始化聚合状态
	Init(events []Event)
	// 聚合状态版本
	Version() int
	// 通过事件改变聚合状态
	Mutate(e Event)
}

聚合状态

type ApplicationService

type ApplicationService interface {
	// 构造函数
	util.Initializer
}

应用服务

type BaseEvent

type BaseEvent struct {
	ProcId uuid.UUID
}

领域事件基类

func LoadSagaSupportedEvent

func LoadSagaSupportedEvent(previousEvent Event) BaseEvent

加载支持Saga的领域事件

func NewNormalEvent

func NewNormalEvent() BaseEvent

新建普通领域事件

func NewSagaSupportedEvent

func NewSagaSupportedEvent() BaseEvent

新建支持Saga的领域事件

func (BaseEvent) ProcessId

func (self BaseEvent) ProcessId() uuid.UUID

type Event

type Event interface {
	// Saga 处理ID
	ProcessId() uuid.UUID
}

领域事件

type EventPublisher

type EventPublisher interface {
}

type EventStream

type EventStream struct {
	// 事件流版本
	StreamVersion int
	// 关联的一组事件
	Events []Event
}

事件流

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL