_0_observer

package
v0.0.0-...-eb36113 Latest Latest
Warning

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

Go to latest
Published: May 19, 2023 License: Apache-2.0, MIT Imports: 1 Imported by: 0

README

观察者模式

观察者模式用于触发联动。

一个对象的改变会触发其它观察者的相关动作,而此对象无需关心连动对象的具体实现。

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Observer

type Observer interface {
	Update(*Subject)
}
Example
subject := NewSubject()
reader1 := NewReader("reader1")
reader2 := NewReader("reader2")
reader3 := NewReader("reader3")
subject.Attach(reader1)
subject.Attach(reader2)
subject.Attach(reader3)

subject.UpdateContext("observer mode")
Output:

reader1 receive observer mode
reader2 receive observer mode
reader3 receive observer mode

type Reader

type Reader struct {
	// contains filtered or unexported fields
}

func NewReader

func NewReader(name string) *Reader

func (*Reader) Update

func (r *Reader) Update(s *Subject)

type Subject

type Subject struct {
	// contains filtered or unexported fields
}

func NewSubject

func NewSubject() *Subject

func (*Subject) Attach

func (s *Subject) Attach(o Observer)

func (*Subject) UpdateContext

func (s *Subject) UpdateContext(context string)

Jump to

Keyboard shortcuts

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