MCPcopy Create free account
hub / github.com/RefactoringGuru/design-patterns-python / Subject

Class Subject

src/Observer/Conceptual/main.py:30–64  ·  view source on GitHub ↗

EN: The Subject interface declares a set of methods for managing subscribers. RU: Интерфейс издателя объявляет набор методов для управлениями подписчиками.

Source from the content-addressed store, hash-verified

28
29
30class Subject(ABC):
31 """
32 EN: The Subject interface declares a set of methods for managing
33 subscribers.
34
35 RU: Интерфейс издателя объявляет набор методов для управлениями
36 подписчиками.
37 """
38
39 @abstractmethod
40 def attach(self, observer: Observer) -> None:
41 """
42 EN: Attach an observer to the subject.
43
44 RU: Присоединяет наблюдателя к издателю.
45 """
46 pass
47
48 @abstractmethod
49 def detach(self, observer: Observer) -> None:
50 """
51 EN: Detach an observer from the subject.
52
53 RU: Отсоединяет наблюдателя от издателя.
54 """
55 pass
56
57 @abstractmethod
58 def notify(self) -> None:
59 """
60 EN: Notify all observers about an event.
61
62 RU: Уведомляет всех наблюдателей о событии.
63 """
64 pass
65
66
67class ConcreteSubject(Subject):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected