-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
Expand file tree
/
Copy pathMediator.py
More file actions
34 lines (25 loc) · 789 Bytes
/
Mediator.py
File metadata and controls
34 lines (25 loc) · 789 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class ChatRoomMediator:
def showMessage(self, user, message):
pass
class ChatRoom(ChatRoomMediator):
def showMessage(self, user, message):
import datetime
time = datetime.datetime.now()
sender = user.getName()
print str(time) + '[' + sender + ']: ' + message
class User:
_name = None
_chatMediator = None
def __init__(self, name, chatMediator):
self.name = name
self._chatMediator = chatMediator
def getName(self):
return self.name
def send(self, message):
self._chatMediator.showMessage(self, message)
if __name__ == '__main__':
mediator = ChatRoom()
john = User('John Doe', mediator)
jane = User('Jane Doe', mediator)
john.send('Hi There!')
jane.send('Hey!')