Executando verificação de segurança...
1

[Dúvida] Problemas na criação de interfaces em Python

Olá pessoal, tudo bem?

Eu estou com um problema envolvendo a criação de "interfaces" em Python. A linguagem Python não possibilita a criação de interfaces, porém, todo sistema precisa de interfaces. Eu estou utilizando classes normais onde declaro somente métodos, e depois herdo onde precisar utilizá-la. O problema é que eu possuo 2 "interfaces" que dependem uma da outra. Idealmente não deveria gerar problemas, entretanto, como não são interfaces, isso me gera uma importação circular.

Vocês tem uma ideia de como isso pode ser resolvido? Obdo pela atenção!

Carregando publicação patrocinada...
1

Uma forma que eu evito importações circulares no Python, é utilizando o conceito de "Factory" (fábrica).
Recomendo a leitura deste artigo: https://realpython.com/factory-method-python/

É meio grande, mas aborda vários pontos importantes, e mesmo que não consiga implementar em sua aplicação, vale a pena aprender, pois é um conceito bastante utilizado em frameworks como Django ou Flask.

1

Paulo, excelente pergunta e infelizmente eu não vou conseguir contribuir com uma resposta de minha autoria... mas fiquei curioso e comecei a pesquisar no Google e esbarrei no termo circular dependency. Olha só o que eu encontrei:

Breaking circular dependency in Python via interfaces
https://stackoverflow.com/questions/18499858/breaking-circular-dependency-in-python-via-interfaces

Yet another solution to dig you out of a circular import hole in Python
https://www.stefaanlippens.net/circular-imports-type-hints-python.html

Espero que ajude 🤝

1

Filipe, muito obrigado mesmo. Esse segundo link me ajudou muito. Eu pude relembrar como o Python é uma linguagem que vem evoluindo. Me ajudou muito, valeu!!