Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Gravando no disco a informação sobre qual Strategy foi usada

Olá Flávio, tudo bem? Creio que minha pergunta independe da linguagem.

Suponha que minha classe X possua um método que computa a similaridade entre imagens de face de pessoas, sendo que essa função não é fixa, podendo ser trocada dinamicamente pelo usuário (usando Strategy).

Suponha que, previamente em um programa, usamos a funçao ABC para computar a similaridade de um dado conjunto de imagens do meu banco, salvando tal matriz de similaridades no disco.

Em outro programa, quando uma nova imagem chegar, precisarei utilizar a mesma função ABC para o cômputo da simiaridade, para daí ver qual imagem do meu conjunto prévio, cujas medidas eu já tenho salvas previamente, é mais parecida com essa nova imagem.

Supondo que eu salvarei no disco a instância da classe X, qual é a melhor maneira d'eu salvar também que a função de similaridade usada foi a ABC? Vou ter que criar uma flag para cada função, tendo que usar uma série de ifs depois?

if (type == "ABC")
    funcao_usada = ABC()
elif (type == "DEF")
    funcao_usada = DEF()
1 resposta
solução!

Acho que vc pode guardar a função e usar o eval para executá-la na volta => https://docs.python.org/3/library/functions.html#eval