Как лучше поступить при взаимодействии двух классов в Python
Хочу самостоятельно написать игру "Покер" в терминале, но с мультиплеером через socket. Вроде бы не трудно, но код получается очень запутанным, и вдруг я встретился с ситуацией, в которой один класс использует функции другого, как лучше поступить, передать объект класса GameServer через аргумент:
class Game():
...
def players_move(self, player: player.Player,
client: Client, server: GameServer):
...
Или лучше создать объект этого класса внутри другого класса, что даже звучит уже странно, если честно:
class Game():
def __init__(self):
...
self.game_server = GameServer()
....
def players_move(self, player: player.Player, client: Client):
...
Хоть оно и звучит странно, но я всё же не уверен в правильности одного из них, а может и ни одно неправильно. Под правильностью я имею ввиду красоту и простоту кода