Padrão de design de protótipo em Python …

O padrão de design do protótipo é um padrão criativo. Se a criação de um objeto é um caso muito caro e já temos um tipo de objeto semelhante, em vez de criá -lo cada vez que precisamos, usamos o clone do objeto que já está lá. Suponha que exista um objeto grande com muitos atributos cujos dados lemos em um banco de dados. Precisamos modificar esses dados várias vezes em nosso programa. Portanto, em vez de criar o objeto sempre lendo o banco de dados, tendemos a manter um protótipo de objeto – o clonamos e depois trabalhamos nele. No Python, existe um módulo chamado Copy que possui dois métodos – Copy () e DeepCopy (). O primeiro é para a cópia rasa e a segunda é para o Deepcopy. Aqui está o código -fonte de um exemplo do padrão de design de protótipo. “` from abc import ABC, abstractmethod import copy class Person(ABC): def __init__(self, name): self._name = name def set_name(self, name): self._name = name def get_name(self): return self._name @abstractmethod def clone(self): pass @abstractmethod def display(self): pass class Teacher(Person): def __init __ (self, nome, curso): super () .__ init __ (nome) self._course = curso def set_course (self, curso): self._course = curso def get_course (self): return self._course def exibir (self): print (“\ nteacher’s Nome:”, eu._name, “\ n” “n” “n”): imprimir (“\ nTeacher’s Nome:”, eu. self.get_course ()) def clone (self): retornar copy.deepcopy (self) a classe estudante (pessoa): def __init __ (self, nome, professor): super () .__ init __ (nome) self._teacher, professor de defesa (self): print (“\ n nome do aluno:”, self.get_name ()) self._teacher.get_name ()) print (“\ n matriculado no assunto:”, self._teacher.get_course ()) def clone (self): retornar copy.deepCopy (self) se __name__ == ‘__main__’: professor (professor (‘Som’, “Python Dissern”) Teachclone1) StudentClone1 = Student.Clone () Teachclone1.set_course (“DSA”) Teachclone1.display () StudentClone1.display () “ `Digite o nome da tela: SONDS SONES SOME SOME SOME SOM SOM SOME SOM SOM SOM SOM SOM SOM SOM EM SOM SOM EM SOM SOM EM SOM SOM EM SOM SOM EM SOM SOM EM SOM EM SOM SOM: Nome do aluno: Ridit ensinado por: SOM matriculado no assunto: Python Design Patttern, como você pode ver, usamos cópia profunda aqui.

Fonte

Você pode ter perdido