22 lines
626 B
Python
22 lines
626 B
Python
from typing import Protocol
|
|
|
|
class Notifier(Protocol):
|
|
def send(self, message: str) -> str:
|
|
...
|
|
|
|
class SlackNotifier:
|
|
def send(self, message: str) -> str:
|
|
return f"Sent to Slack: {message}"
|
|
|
|
class EmailNotifier:
|
|
def send(self, message: str) -> str:
|
|
return f"Sent via Email: {message}"
|
|
|
|
def send_alert(notifier: Notifier, message: str) -> str:
|
|
return notifier.send(message)
|
|
|
|
slack_notifier = SlackNotifier()
|
|
email_notifier = EmailNotifier()
|
|
|
|
print(send_alert(slack_notifier, "This is a test alert for Slack!"))
|
|
print(send_alert(email_notifier, "This is a test alert for Email!")) |