Rafa.... excelente suas aulas... estou na 9... Gratidão! Estou começando a desenvolver um programa, comecei em Python... aí fui buscar mais informação e encontrei sua playlist... incrível... agora estou pensando em mudar pra Java... vi um vídeo seu falando do Java e de uma plataforma de cursos... cara... bom demais... se eu for fazer em Java, conhece algum conteúdo parecido com sua playlist que está excelente? Cara, passar sua playlista pra Java... já pensou nessa hipótese... Gratidão! Forte abraço!
Parabéns pela didática, sou hobista e estou aprendendo python nas horas vagas. Você ensina com muita clareza e objetividade. Muitos falam e falam e não conseguem explicar em uma aula inteira o que você esclarece , muitas vezes, em uma linha. Muito obrigado.
Simples, claro e objetivo 👏👏 Pra mim essa aula foi muito mind blowing nunca tinha pensado no OCP dessa forma. Muito obrigado por essas aulas. Extremamente úteis
E o Circo continua funcionando desde que o apresentador, seja ele qual for, possua o método esperado para apresentar o show, porque o show não pode parar!
@ProgramadorLhama Poderia por gentileza informar se faz sentido dentro do conceito SOLID, aulas Responsabilidade Única e Princípio Aberto/Fechado (esta aula). Criei a estrutura a seguir que uma situação real que estou desenvolvendo : class DataAnalyze: # data analyzer : analyzing data of the type string, integer, decimal/float and date def dataanalyze(self,analyzer:any,data)->None: analyzer.analisyngdata(data) class DataStrn: # string def analisyngdata(self,data:str)->None: self.__analisyngdata(data)
def __analisyngdata(self,data:str)->None: if isinstance(data,str): return print(f'{data}') else: print(f'dado deve ser string. corrigir!') class DataIntg: # integer # string def analisyngdata(self,data:int)->None: self.__analisyngdata(data)
def __analisyngdata(self,data:int)->None: if isinstance(data,int): return print(f'{data}') else: print(f'dado deve ser integer. corrigir!') class DataDate: from datetime import datetime # date # string def analisyngdata(self,data:datetime)->None: self.__analisyngdata(data)
def __analisyngdata(self,data:datetime)->None: from datetime import datetime format = "%d-%m-%Y" res = True try: res = bool(datetime.strptime(data,format)) return print(f'{data}') except ValueError: print(f'dado deve ser data formato dd-mm-aaaa. corrigir!') class DataDecimal: # decimal # string def analisyngdata(self,data:float)->None: self.__analisyngdata(data)
def __analisyngdata(self,data:float)->None: if isinstance(data,float): return print(f'{data}') else: print(f'dado deve ser float. corrigir!') # -------- -------- -------- -------- -------- -------- -------- -------- dataanilyse = DataAnalyze() date = DataStrn() dataanilyse.dataanalyze(date,'01-01-2022') print(f'') date = DataIntg() dataanilyse.dataanalyze(date,5) print(f'') date = DataDate() dataanilyse.dataanalyze(date,'01-01-2022') print(f'') date = DataDecimal() dataanilyse.dataanalyze(date,01.09)
(Perdao a falta de acentos e alguns erros gramaticais meu teclado nao tem os acentos pois comprei fora do Brasil) irmão, aula sensacional. Tive um aprendizado muito melhor contigo que com cursos caros que eu paguei que apenas enrolam e demoram para chegar ao ponto. Tenho apenas uma dúvida no assunto. ainda não terminei tudo e estou maratonando a sua playlist de OOP, e a partir de hoje irei acompanhar o canal. Ainda sou um pouco leigo em programação, já sei os princípios básicos e comecei a estudar OOP tem um mês mais ou menos, você poderia me dizer como eu implementaria o OOP em um sistema? por exemplo (Digamos que eu queira criar um site) faco o banco de dados faco toda a lógica, porem em qual ponto o OOP seria realmente útil para o meu programa? (Como disse sou realmente leigo ainda e reconheco)
Cada princípio tem seu cenário e sua utilização. Por exemplo, o próximo princípio (Substituição de Liskov) utiliza o conceito de herança. Pra projetos que não tenham heranças entre classes, a necessidade desse princípio é zero. A maldade mesmo é saber quando usar e detectar o melhor cenário, mas eles não são todos interligados (embora seja recomendado que seu projeto tente se ater a eles)
Me corrija se eu estiver errado... Então esse princípio "SOLID", é vc nada mais criar várias classes, métodos e funções para que os códigos do "módulo" fique bem mais simples?
Cara, mais ou menos. A idéia é mais atrelada a o lema: "entradas diferentes geram saídas diferentes". Nesse caso vc traz as escolhas pra fora da classe ao invez de fazer "n" verificações
Tõ presa nessa playlist, socorro! Parabéns pela metodologia, você ensina muito bem!
Quando mais aprendo Python, menos gosto dele, mas tem que aprender! Valeu por mais esta aula!
Quanto mais aprendo Python - com você - mais eu gosto dele. Não preciso aprender mas gosto muito. Aprender com você é um prazer. Obrigado !!
Cara, vc explica com muita clareza! Obrigado por compartilhar esse conhecimento.
Muito obrigado pelo elogio. Tamo junto!
Já tentei aprender programação orientada a objetos com outros 4 professores, mas com nenhum entendi tão bem quanto com você! Ótima didática
Meu amigo, que didática maravilhosa!
Muito bom seu trabalho, de verdade...
Rafa.... excelente suas aulas... estou na 9... Gratidão! Estou começando a desenvolver um programa, comecei em Python... aí fui buscar mais informação e encontrei sua playlist... incrível... agora estou pensando em mudar pra Java... vi um vídeo seu falando do Java e de uma plataforma de cursos... cara... bom demais... se eu for fazer em Java, conhece algum conteúdo parecido com sua playlist que está excelente? Cara, passar sua playlista pra Java... já pensou nessa hipótese... Gratidão! Forte abraço!
Explicação muito boa, consegui entender não só o princípio aberto fechado, como a real necessidade de uso de interface.
Parceiro, tamo aí pra ajudar. Feliz que tu conseguiu pegar a mensagem. Tamo junto!
Parabéns pela didática, sou hobista e estou aprendendo python nas horas vagas. Você ensina com muita clareza e objetividade. Muitos falam e falam e não conseguem explicar em uma aula inteira o que você esclarece , muitas vezes, em uma linha. Muito obrigado.
Bom Trabalho!! Obrigado
Tá maratonando os vídeos! Kkkk. Espero que seja de ajuda! Bons estudos! :)
Simples, claro e objetivo 👏👏
Pra mim essa aula foi muito mind blowing nunca tinha pensado no OCP dessa forma. Muito obrigado por essas aulas. Extremamente úteis
Tamo junto parceiro! Vamos evoluindo e aprendendo coisas diferentes. Sucesso na tua caminhada cara!
um dos melhores, talvez o melhor, conteudo sobre software. Parabens
Explicação maravilhosa!
Parabéns!
Os exemplos que vc usa são ótimos! rs
E o Circo continua funcionando desde que o apresentador, seja ele qual for, possua o método esperado para apresentar o show, porque o show não pode parar!
Vc já tinha dado algum tipo de aula antes do canal? Sua didática é incrível! Parabéns
Bem didático! Pelo que entendi, quando a gente tá usando um model em uma ORM a gente tá usufruindo desse princípio, né?
Exatamente. Pra ORMs, é mais interessante que tenhamos uma conexão específica e um modo de fazer SQL comum
@ProgramadorLhama Poderia por gentileza informar se faz sentido dentro do conceito SOLID, aulas Responsabilidade Única e Princípio Aberto/Fechado (esta aula). Criei a estrutura a seguir que uma situação real que estou desenvolvendo :
class DataAnalyze:
# data analyzer : analyzing data of the type string, integer, decimal/float and date
def dataanalyze(self,analyzer:any,data)->None:
analyzer.analisyngdata(data)
class DataStrn:
# string
def analisyngdata(self,data:str)->None:
self.__analisyngdata(data)
def __analisyngdata(self,data:str)->None:
if isinstance(data,str):
return print(f'{data}')
else:
print(f'dado deve ser string. corrigir!')
class DataIntg:
# integer
# string
def analisyngdata(self,data:int)->None:
self.__analisyngdata(data)
def __analisyngdata(self,data:int)->None:
if isinstance(data,int):
return print(f'{data}')
else:
print(f'dado deve ser integer. corrigir!')
class DataDate:
from datetime import datetime
# date
# string
def analisyngdata(self,data:datetime)->None:
self.__analisyngdata(data)
def __analisyngdata(self,data:datetime)->None:
from datetime import datetime
format = "%d-%m-%Y"
res = True
try:
res = bool(datetime.strptime(data,format))
return print(f'{data}')
except ValueError:
print(f'dado deve ser data formato dd-mm-aaaa. corrigir!')
class DataDecimal:
# decimal
# string
def analisyngdata(self,data:float)->None:
self.__analisyngdata(data)
def __analisyngdata(self,data:float)->None:
if isinstance(data,float):
return print(f'{data}')
else:
print(f'dado deve ser float. corrigir!')
# -------- -------- -------- -------- -------- -------- -------- --------
dataanilyse = DataAnalyze()
date = DataStrn()
dataanilyse.dataanalyze(date,'01-01-2022')
print(f'')
date = DataIntg()
dataanilyse.dataanalyze(date,5)
print(f'')
date = DataDate()
dataanilyse.dataanalyze(date,'01-01-2022')
print(f'')
date = DataDecimal()
dataanilyse.dataanalyze(date,01.09)
(Perdao a falta de acentos e alguns erros gramaticais meu teclado nao tem os acentos pois comprei fora do Brasil)
irmão, aula sensacional. Tive um aprendizado muito melhor contigo que com cursos caros que eu paguei que apenas enrolam e demoram para chegar ao ponto.
Tenho apenas uma dúvida no assunto. ainda não terminei tudo e estou maratonando a sua playlist de OOP, e a partir de hoje irei acompanhar o canal. Ainda sou um pouco leigo em programação, já sei os princípios básicos e comecei a estudar OOP tem um mês mais ou menos, você poderia me dizer como eu implementaria o OOP em um sistema? por exemplo (Digamos que eu queira criar um site) faco o banco de dados faco toda a lógica, porem em qual ponto o OOP seria realmente útil para o meu programa? (Como disse sou realmente leigo ainda e reconheco)
Fala Lhama, sobre esses princípios, eles são usados em conjuntos ou tenho que me basear em somente um?
Cada princípio tem seu cenário e sua utilização. Por exemplo, o próximo princípio (Substituição de Liskov) utiliza o conceito de herança. Pra projetos que não tenham heranças entre classes, a necessidade desse princípio é zero.
A maldade mesmo é saber quando usar e detectar o melhor cenário, mas eles não são todos interligados (embora seja recomendado que seu projeto tente se ater a eles)
@@ProgramadorLhama Tendi, vlw
professor como obter este livro
Pesquise: arquitetura limpa. É o livro que eu uso. Há versões em PDF na internet, mas aí deve se achar um link de confiança...
Me corrija se eu estiver errado...
Então esse princípio "SOLID", é vc nada mais criar várias classes, métodos e funções para que os códigos do "módulo" fique bem mais simples?
Cara, mais ou menos. A idéia é mais atrelada a o lema: "entradas diferentes geram saídas diferentes". Nesse caso vc traz as escolhas pra fora da classe ao invez de fazer "n" verificações