Scribe
Scribe

Bevalt het? Maak Scribe nog beter door een review achter te laten

Chrome Extensie

Bladeren

  • Populaire Video's
  • Recente Video's
  • Alle Kanalen

Gratis Tools

  • Ondertitel Downloader
  • Tijdstempel Generator
  • Video Samenvatter
  • Woorden Teller
  • Titel Analyzer
  • Videotranscriptie Zoeken
  • Video Analytics
  • Hoofdstukken Maker
  • Video Quiz Generator
  • Chat met Video

Product

  • Prijzen
  • Blog
  • Chrome Extensie

Developers

  • Transcript API
  • API Documentation

Juridisch

  • Voorwaarden
  • Privacy
  • Ondersteuning
  • Sitemap

Copyright © 2026. Gemaakt met liefde door Scribe

— Als dit uw leven makkelijker heeft gemaakt (of op zijn minst iets minder chaotisch), laat ons een review achter! Dat maakt onze dag goed.

Related Videos

SOLID - Open/Closed e Dependency Inversion Principle

Video thumbnail
9835,420 Woorden27m readGrade 18
Delen
Channel
Arthur Gregório
é bom pessoal então agora nós vamos começar aqui a falar sobre o CP e Deep que é o open close principle e dependem se inverte um principal o Esses são dois conceitos que dá para gente ver junto então o exemplo que eu vou trazer aqui para vocês agora ele ele vai estar dividido basicamente em duas partes né para fazer em dois momentos mas é no mesmo no mesmo cor de base né Então como que é o conceito né A primeira vez ficar pra vocês que a gente tem aqui né então basicamente a nós temos aqui um código que é um projeto de sistema de vendas né então a gente tem que uma lista de itens dessa lista de itens a gente queria uma venda aí nós temos um objeto chamado caixa que seria como se fosse o caixa que vai faturar Nossa venda é efetivamente a isso que ele faz então eu faço aqui a caixa ponto faturar venda pego a venda faturada e mostra Então qual o ponto né e qual que foi o frete utilizado na nossa venda beleza até aqui tudo certo né esse código olhando por aqui ele parece ser muito Clean é muito didático né Ele parece mostrar muito bem o que tem que ser feito o que acontece por trás é que nós temos um objeto caixa que ele é um objeto grande né como a gente viu no single responsibility principle cês podem ver com essa classe que ela não tem uma responsabilidade única Né repara que que ela precisa saber fazer uma verificação né se o estado da entrega é o estado onde vai ser feita a entrega é o Paraná se for Paraná ela retorna O valor de frete x se for outro estado um valor de frete Y né E ela faz uma verificação também para fazer o cálculo do desconto se for pessoa física e ela dá 10 por cento desconto se for pessoa jurídica assim por cento desconto se for qualquer outra coisa né dois por cento de desconto só que vejam isso aqui também não faz sentido né É porque o a pessoa física pessoa jurídica gente não tem nem outro tipo de pessoa né então outro código também que tá bizarro e ela também é um detalhe de implementação que ela precisa conhecer para poder funcionar então só que a gente já tem duas responsabilidades que deveriam estar separados né e por último ela tem aí uma uma uma as ações que acontecem quando a venda finalizada então quando a vida finalizada né quando a venda faturada ela emitir a nota fiscal ela notifica o ela manda o correio notificar o fornecedor né e na verdade esse método aqui não é notificar fornecedor não tá muito legal vamo dar esse método aqui para a e a Já é pode ser vai não ficar aparecendo aqui é para mandar um e-mail né que tá tranquilo assim manda um e-mail para o fornecedor também integra por estoque tipo faz o que basicamente que como se eu tivesse um sistema de fronte de venda né E aí depois que eu terminar se havendo ele tem que ir lá e dar baixa nos itens do do meu estoque Então vou colocar aqui da Baixa nos itens do estoque e dispara um e-mail aos fornecedores a copa e o e-mail ao cliente vou colocar aqui tem a notificação ao cliente que vai ficar ficar melhor a correio é de ficar cliente vai ficar melhor assim i a i emitir a nota fiscal Beleza então ela tem aqui uma duas três quatro cinco responsabilidades e se deve a pessoa simples beleza essas responsabilidades aqui elas estão separadas em outras classes eu só tô chamando então até que ficou bem claro aqui aqui as ações que ela executa após a finalização da venda então segrega dinhos né eu tenho classes específicas para fazer isso ok isso aqui não vou mexer mais observa em Aqui nós temos o cálculo do desconto e nós temos o cálculo do frete isso aqui deveria estar separado em outro lugar certo ok então é a primeira coisa que a gente vai fazer a gente precisa separar essas esses esses detalhes aqui né para gente ter uma uma implementação um pouco mais clean do ponto de vista de 5 anos postando tipo Spool né e em sequência a gente precisa entender um ponto esse a e a transportadora que hoje vamos supor que isso aqui seja o correio é Correios né uns porque seja os Correios hoje eles cobram esse valor para fora do Estado para dentro para fora do Estado e para dentro do Estado mas esse sei lá eu fechei um acordo com a uma outra transportadora que não seja o correio como que eu vou alterar essa lógica aqui né se separem que a minha classe de venda é o meu caixa ele é uma classe que eu não consigo entender ela como que eu ia ter que fazer isso aqui eu ia ter que ir alterar aqui né esse código eu ia ter que fazer o quê seilá mudar aqui tipo talvez ou colocar mais um wi-fi aqui passando alguma Flag dizendo que é para mandar pela outra transportadora escola de ficar extremamente feio né Ficar cabuloso E se eu simplesmente alterasse aqui tipo agora eu tô usando a transportadora xyz aí ela cobra 10 bom e quando é fora do Estado né ela cobra 30 só que aí por exemplo ela não atende o estado do Espírito Santo e aí como que fica o correio atende todos os estados mas essa outra não atende está do Espírito Santo e aí E como que fica tipo eu não consigo fazer essa implementação aqui porque o meu código vai quebrar inteiro a minha loja que ela vai quebrar inteira né porque eu tenho isso aqui de uma maneira vamos assim fixada na estática dentro do meu código e o mesmo acontece para o meu desconto que que vai acontecer se um dia eu quiser por exemplo falar que a tabela de preço de desconto mudou é para pessoa física eu tenho que vir alterar aqui a pessoa jurídica tem que vir alterar aqui ah mas agora eu quero usar Sei lá uma tabela promocional eu não consigo eu tenho que vir em alterar o meu sistema compilar meu sistema botar no sistema em produção para poder fazer uma promoção por quê Porque eu não consigo alterar isso aqui dinamicamente certo então nós temos dois problemas aqui nesse código ele tem essas duas responsabilidades aqui chumbadas né E a gente não consegue flexibilizar essas lógicas aqui sem ter que alterar a nossa a nossa lógica Inicial né a nossa estrutura inicial é a então aí vem o open Close To his for para ajudar a gente mas primeiro de tudo deixa comentar esse código que essas pequenas alterações que eu fiz e aí a gente já vai lá para o nosso código a gente vai aplicar o conceito de sorte beleza G1 o que comentou aqui vou lá para minha cliente com Solid a beleza tivesse Fechar isso que quer duas vezes anterior fazer um médico aqui né o que eu fiz alterações lá então preciso fazer o merde aqui beleza mas aquilo estão sincronizados agora que eu vou fazer bom primeira coisa que eu falei para vocês é que a nossa classe de venda ela tá meio bizarra né a gente a nossa classe do caixa ela tá meio bizarra e eu preciso separar essas lógicas aqui né só que não era para tá aqui a primeira coisa que eu posso fazer é aplicar 15 responsability principle né e Então como que eu vou fazer isso eu posso separar aqui né e basicamente a já aplicando né o open closet principle Como que eu posso separar isso aqui né primeira coisa que vem à cabeça como que eu posso separar isso eu simplesmente Copie esse código aqui jogando uma classe vamos ver então vamos lá vamos criar uma classe aqui chamada sei lá transportadora Correios E aí eu criei um método aqui pobre que o pau Publique vamos aqui que retorna aqui meu canal não lembro é a Tati calcular o frete então Publique tampo calcular frete aí eu vou passar para ele a venda né então venda E aí aqui dentro eu vou fazer aquela lógica que tá lá beleza o vídeo hoje eu vou fazer o que retorne 25 que ela falou que tava antes e ir retorne 50 a beleza Dá até pra deixar isso aqui na linha só fazendo um ternário E aí e pronto minha lógica tá feita é que que vai acontecer aqui se eu vim aqui agora eu preciso então receber de alguma maneira Qual que é a minha transportadora então no caso aqui eu vou receber transportadora Correia isso é né nada meu parâmetro aqui aí eu faço o quê venda. 7 frete transportadora. Calcular frete venda pronto resolve um problema vamos o segundo problema eu tenho aqui um tipo de cliente então eu poderia resolver isso aqui da mesma maneira que eu fiz lá no outro no outro exercício né criando um em um tipo tendo 1 a 1 para o tipo de pessoa então a gente pode fazer isso Então cadê aqui à venda E aí tipo do cliente tipo cliente E ai Cristiano tipo cliente aí eu posso fazer aqui pf-pj E aí eu declaro aqui dentro Publique aspekt calcular desconto quem é um passo à venda O opa tem que passar aqui né lambo só vê se eu à venda que eu passo aqui que já não lembro mais entender tá isso Pega o valor total da venda e aplico desconto Então pode pegar aqui ó eu vou.
o valor da venda e é aí eu faço aqui em plantação tá beleza tudo que a gente já fez lá anteriormente a mesma coisa E aí G1 E aí aqui eu transporta a lógica ó fechei a calça errada então eu faço o quê o valor já falei venda vezes quando é a pessoa jurídica e eu achei comendo desconto então em toda a venda de registao e quando a pessoa física tal 10% encontro beleza Oi e aí eu faço o quê eu posso fazer venda. Opa só não vamos comer o comentário aqui né venda. 7 desconto aí eu faço que venda ponto g' é tipo cliente.
Ata de tarde né eu não teria aqui o meu tipo cliente para seu é novo então tipo cliente vai ser ir para o cliente Quem é esse cara que tem que retornar tipo cliente se e a beleza aí beleza tipo crente ponto calcular desconto aí venda. Quiet valor total e pronto dessa forma eu ceguei as minhas coisas então só tem que ajustar aqui agora né que eu tenho que passar aqui que o cara é um cliente chefe tipo cliente. PF e sucesso que que vai acontecer aqui agora galera veja só e dessa forma a minha casa da minha classe caixa ela continua tendo só uma responsabilidade que é faturar a venda só que agora aquelas lógicas que ela tinha que aqueles detalhes de implementação Eles foram separados né eles foram tirados daqui de dentro para me dar mais flexibilidade então por exemplo agora eu consigo criar outras tabelas né de de frete Porque eu só preciso passar aqui né a gente vai falar sobre isso mas por enquanto é isso posso criar novas tabelas e o meu cálculo do desconto né ele também ficou flexível de acordo com o tipo de pessoa então se eu criar o tipo de pessoa novo eu posso tipo simplesmente eu simplesmente vou lá e adiciona no e num e pronto coloco o tipo de desconto lá inclusive se eu não quiser dar desconto nesse outro tipo de cliente Fica tranquilo também que ele vai lá e calcular tranquilamente né eu não vou precisar ficar me preocupando com modificar aqui um furador de vendas mas eu vou voltar aqui nesse ponto aqui de cima eu falei que eu posso então é trocar a transportadora Será que eu posso mesmo vamos ver aqui então o que a gente vai fazer primeiro né Isso é criar os nossos objetos então New transportadora correios e por segundo ah é verdade eu não tenho segundo né porque tem de acordo com o tipo aqui mas eu posso passar aqui mil transportadora Correios vou ver se o nosso código funciona Olá a roupa dizer que o código errado em executou código errado é só botar aqui pro é isso o Olá pronto venda faturada emitir.
nf notificando fornecedores enviando para o estoque do sistema xpto disconto da venda é 127 com 80 e o valor do frete da venda é 50 é porque Ah tá tem uma cena aqui lá e pronto agora sim o que que acontece funcionou tudo certinho né E aí eu posso falar assim Beleza então eu apliquei aqui o cinco responsability principle separei os meus códigos aqui né diminuir as responsabilidades da minha classe tipo ela agora efetivamente só fatura vendas e eu ainda separei a minha lógica da transportadora Então agora eu posso simplesmente criar outra classe de transportadora né Por exemplo vou criar que a transpor portadora Primor pronto se eu vim aqui e fazer agora que sei lá Public e a boca calcular frete a receber aqui a venda aí eu posso fazer a mesma lógica que eu tinha lá do correio né eu posso vir aqui pare tal aí aprimora cobra mais barato é 10 para o Paraná e vim para fora do Paraná a venda aí pronto eu posso agora usar ela lá né Nós possa claro que eu posso e eu transportadora plimor mapa de erro porque eu apliquei de certa forma o srp Né o senhor responsability principle Mas eu não Tornei a minha classe aberta a extensão O que quer dizer a minha classe ela ainda é uma classe fechada é uma classe aqui eu dependo de uma implementação Ok então eu separei já né eu consegui cumprir cinquenta por cento do objetivo do Open closet principal né que não é dependendo das implementações concretos mas sim de uma abstração porém eu não criei essa abstração E aí como que a gente compreende daí sem por cento do Open Close the principle a gente vai pegar e vai então olhar para essas duas classes aqui correios e Primor que elas têm em comum ambas têm um método chamado calcular frete Como que eu faço então para estabelecer uma interface interface não é resposta não é para falar que é fácil mas ela é um contrato entre elas para que elas Sigam a mesma lógica né Eu queria uma interface então basicamente eu vou colocar aqui transportadora Oi e aí aqui dentro Eu vou fazer o que eu vou criar um método dando sopa e é calcular frete e recebe a venda né e pronto e aí agora eu venho aqui na minha transportadora plimor e vou implementar transportadora e até para aí agora eu vou ver hide o Olá sucesso você vem aqui transportadora Correia isso implements transportadora of Raid sucesso se eu vim aqui agora vai continuar dando erro né Óbvio porque eu preciso passar não a implementação né da minha interface eu fiz o passar agora abstração então transportadora certo que aconteceu agora a minha classe ela então agora ela depois ela Depende de uma abstração Ela depende de uma coisa que ela não precisa saber o que que é é mais ou menos a mesma lógica da crp eu não quero saber como que só que funciona por trás dos panos né Eu simplesmente dependo de uma abstração O que exatamente vai vir aqui dentro não me interessa então aí eu consigo cumprir o open closet principle a minha classe ela é fechada para extensão E aí eu faço aqui com final né Então ninguém pode estender ela mas ela é a Na verdade eu falei errado né é a e ela tem que ser aberta para extensão mais fechada Para modificação então por exemplo quando eu coloquei o final aqui eu não consigo dar o ver Raid nesse método eu não consigo entender ela e aí o que acontece eu não consegui entender não vou conseguir alterar esse comportamento aqui que mais que eu quero eu quero que esse comportamento aquele seja único porém eu consigo mudar um pouco do comportamento e na verdade consigo expor somente a parte que eu quero que seja alterada a Travessa desse dessa interface que pode receber uma implementação específica então eu posso ter aqui dentro uma lógica específica para transportadora X para transportadora Y que necessariamente essa classe que não precisa é saber o que que é E aí a minha implantação ela fica muito mais com cinza porque esse método que ele nunca vai mudar né e ele tem uma responsabilidade única que emite a venda e automaticamente eu deixei ele sensível né A minha plantação extensível e hoje eu preciso ao ponto onde eu preciso é o que é a minha transportadora é a minha tabela de transportes um dizer assim e automaticamente a mesma coisa acontece com o desconto Porque eu simplesmente crio um novo é num lá né Eu queria alguma coisa nova nenhum e pronto a eu consigo estender daí o comportamento do meu desconto eu poderia também resolver esse problema aqui do desconto da mesma maneira que eu resolvi a parte do transporte criando uma interface chamada sei lá tabela de descontos e passando aqui e aí que podemos essa tabela de desconto eu teria uma tabela de descontos né Eu queria uma lógica que olharia para o seguinte é um cliente pessoa física é o cliente pessoa jurídica é um cliente especial e aí eu passar essa tabela de desconto aqui né E isso também iria funcionar por exemplo a fazer isso aqui ó já já eu criaria muito é fácil a gente pode até inclusive combinar as duas soluções então Oi e aí eu vim aqui faça o seguinte a tabela normal e Implementos tabela de desconto e a falta definir o método lá né na tabela de desconto bom então público culpa da bolo é calcular desconto bom valor da venda o Fred vou passar a venda inteira né o melhor aí eu venho aqui ó tabela normal implementa o método 1 Oi e aí eu posso fazer o seguinte a mesma lógica que tá lá na minha no meu caixa né então posso fazer o seguinte eu tive isso aqui daqui e eu faço assim ó tabela de quantos pontos calcular desconto venda mesma coisa que eu fiz aqui em cima e aí aqui dentro Opa aí aqui na minha tabela normal eu posso fazer o seguinte simplesmente chamar a mesma lógica lá que ainda está atrelado ao e no tipo flexibilizou mais ainda porque daí eu posso ter tipos de desconto diferente lá no eu não ia ainda posso ter uma lógica aqui né por exemplo um cenário onde seria bem interessante né então tem a pessoa física pessoa jurídica mas aí eu tenho aqui um sei lá uma tabela promocional E aí a tabela promocional ela tabela de roupa tabela descontos olá olá e eu tô esquecendo de aumentar o tamanho aqui dos códigos pessoal me desculpem mas eu acho que a gravação dos colocarem folga aí vai ficar bom E aí aqui eu posso fazer o seguinte ó eu posso pegar por exemplo venda ponto g' é tipo cliente. Calcular desconto venda. de ativador Total E aí eu coloco assim oval farofa a Inovar é desconto normal aí eu posso fazer o seguinte já é tabela promocional eu pego o desconto normal o e aplico mais sei lá dois por cento vezes 0.
021 é independente do tipo de pessoa e entenderam E aí que acontece eu simplesmente vou ter depois lá posso passar assim ó ó e eu tabela promocional Pronto seu executar aqui já tá lá e o meu descontinho aplicado a mas agora eu quero usar a tabela normal e muda aqui o e chorar tá lá desconto da vida foi tal foi menor né então assim tudo isso sem eu ter que mudar o meu código se observa em que o meu caixa ele passou se agora na implantação muito mais estável uma implementação que vai sofrer pouquíssimas mudanças e eu não consigo criar aqui por exemplo 1 o caixa 2 a fazer aqui é que sentes a caixa não posso fazer isso porque ela f não entenderam então eu não consigo alterar o meu comportamento do meu método o comportamento do meu método de faturar venda Ele é o único Ele é aquele e não é para ser modificado Então eu fechei a minha a minha classe para mudanças né e estende e abrir ela para a extensão através do que das interfaces exatamente nos pontos onde eu preciso que é o que flexibilizar o cálculo do frete e o cálculo do desconto Então tudo isso fica muito tranquilo por exemplo isso aqui poderia ser uma configuração do sistema alguma coisa no banco de dados que me amarrasse com essa implementação então é claro que a gente está fazendo um jeito simples é onde eu estancio diretamente nas classes mas poderia ser dinâmico isso aqui né Então dessa maneira eu passo para minha classe a estratégia de transportadora que eu quero usar e o a estratégia de tabela de preço e ela simplesmente executa beleza é a minha lógica original ser alterada certo e até aqui tudo beleza esse código está perfeito porque esse código Ele simplesmente é funciona de uma maneira tipo linda é um código estável e a minha classe ela não vai ter motivos para ser modificado então eu consegui cumprir 15 responsability principle e outro em Close to school de maneira perfeita aqui né então eu tenho uma classe com uma responsabilidade Só que é faturar à venda e eu tenho ainda Uma clássica fechada Para modificação né porém aberta para extensão certo então eu consigo modificar os alguns comportamentos que eu preciso modificar dela sem ter que modificar o código original beleza tudo certo tudo perfeito até aqui porém gente tem mais um problema observa em que a nossa classe ela tem algumas ações aqui que ela executa depois que termina a venda certo então assim ó e eu mando para o mudar o nome da classe aqui só para ficar um pouco mais conciso eu acho que aconteceu com seu janelinha aqui inteligente E aí bom então eu tenho aqui algumas ações que acontecem depois que a minha que a minha venda finalizada certo essas ações elas estão amarradas hoje na minha classe né A minha calça ela precisa ter isso aqui dentro dela então isso aqui são dependências da minha classe sem isso aqui ela não funciona certo e aí entra o primeiro detalhe Aonde que está explícito que sem esses caras aqui a minha classe não funciona isso não tá escrito não existe um lugar esse texto no meu código onde eu consiga dizer assim se o caixa não tiver um emissor de nota fiscal um correio eletrônico e um regra playstock ela não vai funcionar certo então tu que vai acontecer isso aqui é uma implantação que ela não tá concisa ela não tá coisa né Ela não tá isso aqui não tá claro definido no meu código então o que que eu posso fazer aqui nesse caso eu preciso aplicar então o conselho O que é o dependency inversion principle isso aqui são dependências Então eu preciso inverter o controle dessas dependências Hoje a minha classe ela que controla quem é que vai ser instanciado aqui tudo mais mas isso aqui não é uma boa prática tá isso aqui tipo normalmente vem dentro do Construtor por quê Porque a gente precisa deixar claro para o mundo externo Quais são as dependências da minha classe só que aí se a gente colocar isso aqui para o mundo externo a gente tem que fazer isso aqui ó Então a gente vai declarar esses caras como falei não não posso apagar esse Construtora aqui ó e dá um Construtor e criar um Construtor que recebe tudo isso aqui certo ok até aí beleza é uma possibilidade aí eu posso passar assim ó e o emissor de nf-e New o correio eletrônico New entrega para estoque Ok resolvido o problema certo porque agora deixei claro que meu caixa depende desses três indivíduos aqui para funcionar é mas aí a gente volta para aquele cenário e se agora quando eu finalizar a minha venda eu precisar sei lá fazer mais uma coisa aqui diz. Sei lá vamos pensar numa ação aqui pós-venda então que a gente pode colocar aqui vou colocar aqui uma ação de separar produtos do estoque não se eu acho que até gravar esse papo já tá vamos colocar aqui separar produtos no separador o reparador de produtos pontos separar itens Oi e aí a gente já tem que fazer o que a gente vai ter que criar aqui né Aproveite separador a no separador de produtos separador de produtos em já já tinha criado aqui uma classe Zinha né separador de produtos e aí você pára de hoje produto separador de produtos aí eu faço aqui diz. Separador de produtos igual a separa o separador de frutos Oi e aí é que tá dando erro o pai long E aí a taça para dor de produtos vou colocar só separar a gente colocar Separar de Ti se separar só beleza aí o que acontece você para os itens no estoque e o que acontece aqui é Bom basicamente a gente volta para o cenário que a gente tinha falado lá no seu responsability principle né a lógica que cresce eu tenho que ficar colocando mais coisas aqui esse código vai aumentando e né já passou aqui da linha Zinha Branquinha aqui da ideia vai ficando ruim eles código que não é um código muito bom então que que a gente pode fazer da mesma maneira que a gente criou a implementação aquele uma abstração né a gente pode também criar uma abstrata de criar uma situação lá para tabela para o transporte tudo mais eles pode criar uma distração aqui para que para definir ações após a finalização da venda então isso aqui tudo são ações após o fim da venda Então posso fazer o que eu venho aqui crie uma interface e após faturamento né E aí eu criei um método aqui volte executar recebo à venda E aí eu venho aqui ó no separador de produto por exemplo na verdade vão ajustar primeiro aqui né a gente pode vir aqui e receber então uma lista de ações após faturamento as ações após faturamento E aí eu posso vir aqui fazer assim apagar esses caras aqui e este ações após o faturamento e diz pontuações após o treinamento igual ações após tratamento pronto e aí aqui embaixo eu venho aqui faz o seguinte ó diz pontuações para o faturamento.
Forte Beach a ação ação.
Gerelateerde Video's
This Toy Carved The Nicest Table I've Ever Made.
32:26
This Toy Carved The Nicest Table I've Ever...
Fortress Fine Woodworks
3,078,792 views
Obama BREAKS HIS SILENCE and TORCHES Trump
19:44
Obama BREAKS HIS SILENCE and TORCHES Trump
Unscripted Political Discourse
326,782 views
Good Time - Danielle Kelly Soul Project - Live in Phoenix, Oregon 2025
0:31
Good Time - Danielle Kelly Soul Project - ...
Danielle Kelly Soul Project
1 view
Warren Buffett Just Issued A Bizarre Market Crash Warning
13:22
Warren Buffett Just Issued A Bizarre Marke...
Casgains Academy
196,242 views
Just put it under the orchid! It will immediately bloom many new flowers all year round
21:36
Just put it under the orchid! It will imme...
Wonder Garden
1,416,335 views
12 Dividend Stocks That PAY Every Week!
15:34
12 Dividend Stocks That PAY Every Week!
The Trade Savvy Academy
8,071 views
AI vs. Human Consciousness: Yuval Harari & Jon Kabat-Zinn on Our Future
1:17:35
AI vs. Human Consciousness: Yuval Harari &...
Dr. Mindfulness
10,280 views
Toyota WIPES THE FLOOR With Elon Musk - Elon Completely Loses It!
28:43
Toyota WIPES THE FLOOR With Elon Musk - El...
The Crow
871,788 views
Jacob Collier Improvises the National Symphony Orchestra (Live from the Kennedy Center)
18:52
Jacob Collier Improvises the National Symp...
Jacob Collier
4,516,146 views
Glute Bridge Mistakes that Will RUIN Your Lower Back
15:21
Glute Bridge Mistakes that Will RUIN Your ...
Positive Motion Chiropractic
823,763 views
Bénédiction Urbi et Orbi de Pâques 2025
21:57
Bénédiction Urbi et Orbi de Pâques 2025
Le Jour du Seigneur
28,421 views
Upbeat Lofi - Deep Focus & Energy for Work [R&B, Neo Soul, Lofi Hiphop]
3:22:29
Upbeat Lofi - Deep Focus & Energy for Work...
A Lofi Soul
665,719 views
TRUMP : ET S'IL PERDAIT SA GUERRE CONTRE LA CHINE ?
31:17
TRUMP : ET S'IL PERDAIT SA GUERRE CONTRE L...
Le Média
27,700 views
Place 1 piece under the orchid! Suddenly grows 100 branches and blooms all year round
17:55
Place 1 piece under the orchid! Suddenly g...
Happiness Garden
1,167,266 views
Banned At Le Mans: The Ford Calliope V8 - What Could Have Been, What Will Be!
21:09
Banned At Le Mans: The Ford Calliope V8 - ...
Brian Lohnes
266,914 views
🛑Philippe de Villiers DÉTRUIT Apolline de Malherbe en plein direct
16:10
🛑Philippe de Villiers DÉTRUIT Apolline de...
Afro D'histoire indicible
125,961 views
Forest Cafe Jazz Music | Morning Tranquill Jazz With Nature Therapy For Stress Relief, Study & Wo...
3:22:50
Forest Cafe Jazz Music | Morning Tranquill...
Tranquill Jazz Melody
6,983,350 views
Fence Contractors Hate Me For Showing You This!
24:50
Fence Contractors Hate Me For Showing You ...
HAXMAN
7,392,644 views
HOW TO WIN RISK EVERY TIME
14:36
HOW TO WIN RISK EVERY TIME
What's What
138,276 views
Is Life Better in Europe or USA? An Honest Review After 1 Year As an American in Europe
21:06
Is Life Better in Europe or USA? An Honest...
Jordan Green
496,378 views