🙌 ¡APOYÁ AL CANAL! Si te gusta mi contenido, invitame un cafecito 😁 ➡ Desde Argentina: cafecito.app/charlycimino ➡ Fuera de Argentina: paypal.me/charlycimino 📌 Dejá tu comentario 📝, dale 'like' 👍, suscribite al canal 👥 y activá la campanita 🔔 ¡GRACIAS! 🤳 ¡Seguime! 🌏WEB PERSONAL: charlycimino.com 🌏 🌎INSTAGRAM: instagram.com/charlycimino 🌏 🌍FACEBOOK: facebook.com/charlyycimino 🌏 🌏LINKEDIN: linkedin.com/in/charlycimino 🌏 🌏GITHUB: github.com/CharlyCimino 🌏 🌏TWITCH: www.twitch.tv/charlycimino 🌏 🌏PATREON: patreon.com/charlycimino 🌏
@leofabioFAC2 жыл бұрын
Explicas mejor que cualquier profesor de programación que he tenido en la mejor universidad de mi país. Muchas gracias por compartir!.
@charlie_arteaga Жыл бұрын
en cual universidad esta?
@emmanuelcirino44092 жыл бұрын
Sos, por lejos, el numero 1.
@gcastelt_ideas_libertarias Жыл бұрын
Estas explicaciones que nos presenta Charly Cimino, siempre van más allá de lo común. Siempre Excelente!!!
@Sebastian-yp9hx2 жыл бұрын
lo vi tres veces, pufff la primera fue una piña en la boca del estomago que me mandaste a dormir, al dia siguiente poco a poco lo fui digiriendo jeje mil gracias por subir estos temas washi
@marcelowalter2422 Жыл бұрын
Un verdadero placer escuchar tus clases. sabes y transmites, que es lo mas dificil.
@rodolfoaravena92312 жыл бұрын
Pum ! me exploto la cabeza, siento que aprendo mas contigo que con cualquier curso o clase .
@juliantl10 ай бұрын
literal
@demiantah3179 Жыл бұрын
volvi a remotar este curso de java y solo puedo decir que es el mejor, como hubiera querido ternerlo de profe en la materia de programacion!
@ghernandez0962 ай бұрын
Excelente explicación, ya habia escuchado del principio pero aun no lo tenía claro gracias
@KAPO2222 Жыл бұрын
Muy bueno este concepto ... me encanta tu explicación .. la claridad que mostras todo
@AdrianBarajas_aw11 ай бұрын
gracias charly, tus explicaciones como siempre son magistrales
@celinagoday1382 Жыл бұрын
Genio total! Gracias por compartir tus conocimientos de una manera tan clara y practica!!🤗
@andirpg79542 жыл бұрын
Hermano con ud sí se aprende. Pronto su canal se le va a minar de views
@CharlyCimino2 жыл бұрын
¡Gracias! Ojalá... 🤞🏻
@iamthefuelte10 ай бұрын
excelente explicacion de TELL, DON'T ASK!!! mil gracias!
@Lashistoriasdelilith Жыл бұрын
te necesitamos en la UTN de La Plata
@alejandromesa54672 жыл бұрын
Me tope con tu canal hace poco, viejo sos un capo parcero. Muchas gracias por la ayuda
@eduardofredymelendezravell351611 ай бұрын
Copado el "Tell don't ask", gracias por el desasne
@torai.fosuuu3 жыл бұрын
Muy buena la data Charly, estoy muy feliz con mí suscripción a este canal !
@enriquezk2012 Жыл бұрын
Explicas muy bien, que buenos videos haces, das conceptos muy esenciales que uno mismo puede aplicar al realizar proyectos. Saludos desde Perú crack
@nicokevor90212 жыл бұрын
Altos consejos Charly , vengo viendo tus videos siempre y me esta re sirviendo muchas gracias por tus enseñanzas! abrazo.
@leoprone13 ай бұрын
excelente explicación!
@hernangrando92452 жыл бұрын
Profe, sos un capoooooooo!!!!!!
@Bruno-ke1uh2 жыл бұрын
Este video es simplemente increíble.
@mariejo43662 жыл бұрын
Muy claro. Lo fui probando y lo pude entender bien. Muchas gracias!!!
@framcapa23082 жыл бұрын
Estoy flipando. Explicas las cosas genial. Enhorabuena.
@netcad3d2 жыл бұрын
Este es el típico video que necesitas ternar algo de experiencia para saber por que nos cuenta esto....me lo guardo para cuando este mas avanzado !
@CharlyCimino2 жыл бұрын
Genial. De todas formas el ejemplo es muy sencillo, solo necesitas saber lo básico de POO para comprenderlo (atributos, métodos, constructores y composición entre objetos)
@flv_50352 жыл бұрын
Impecable, Charly! Muchas gracias !
@carloscardona12932 жыл бұрын
🤯🤯🤯 Excelente! Y bien lo dices, no hay que ser fundamentalista y pretender erradicar los getters. En muchos casos son estrictamente necesarios. Buen video, me llevo ago valioso al haberlo visto y ya mismo lo comienzo a implementar
@MiauMichigan2 жыл бұрын
Tiene muchísimo sentido! Mil gracias. No me lo enseñaron así pero lo voy a ir cambiando!
@tanidades Жыл бұрын
Gracias Mostro!
@FunkToFunkiest3 жыл бұрын
Simplemente Brillante! Muchas gracias por compartir este video
@victorevangelista8656 Жыл бұрын
Disculpa la molestia, creo que ya había preguntado esto pero estaba analizando lo siguiente al seguir el ejemplo del auto: un auto tiene un motor, un motor tiene conectado un tanque de combustible, entonces, el auto al llamar al método acelerar() este usa al objeto motor que a su vez llama a su propio método acelerar() dentro del cual comprueba el nivel de combustible del tanque; si el nivel de combustible es mayor que cero acelera, de lo contrario podría mostrar un mensaje indicando que el tanque esta vació. Mi pregunta es: si el auto tuviera un método para llenar el tanque, la forma de implementarse seria parecida a la del método acelerar(), es decir, el método llenarTanque() usaría al objeto motor que a su vez llamaría a su propio método llenarTanque() y este método a su vez usaría al objeto tanqueCombustible para llenar el tanque, aun que, siento que no esta bien implementado, es decir, pensándolo mas detenidamente, ¿El motor llena el tanque? o mas bien, ¿A través del motor llenamos el tanque?.
@i-love-life75933 ай бұрын
hola.. si te entendi bien... yo haria 2 clases: MOTOR y TANQUE. el motor en Acelerar()primero pregunta a TANQUE por su nivelActual y si nivelActual>0 entonces acelera..... y como ultima linea antes de salir, el motor le envia a TANQUE un metodo BajarLitro( 1 litro ).. es decir... lo consumido
@i-love-life75933 ай бұрын
el auto tendria un metodo LlenarTanque(cantLitros)... que ese metodo haria tanque.SubirLitros(cantLitros)
@marianoT47263 жыл бұрын
¡Muy interesante Charly! Muchas gracias por el tip!
@MarioSanchez-d4z5 ай бұрын
¿No corremos el riesgo de llevarnos logica de la capa de servicio a otra capa en la que no es necesaria o no es conveniente ? Es decir, tenemos un pojo que representa la base de datos y tenemos un servicio que gestiona ese acceso a los datos. Queremos variar un dato en función de una lógica, sería correcto llevar esa lógica al POJO de representación de la tabla de BBDD?
@facundodtd Жыл бұрын
Sencillamente increíble tu forma de explicar, te entiendo más que a mis profesores, mil gracias! Si me quedó claro.. en síntesis, este principio nos invita a desarrollar la lógica en las clases que correspondan y usar getters solo para consultar por consola y no para acceder al atributo desde clases ajenas? ojalá me puedas leer, un saludo!
@CharlyCimino Жыл бұрын
Hola ! Así es, no centralizar la lógica sino más bien distribuirla. Eso es más orientado a objetos
@facundodtd Жыл бұрын
@@CharlyCimino gracias por responder y por tremendo curso!
@coryb_x12 жыл бұрын
WOW! que explicación tan buena, se agradece !!!!
@alexasinon66262 жыл бұрын
Excelente explicación, gracias
@Jefferson40263 ай бұрын
Una pregunta y cuando se debe usar un DTO como hago si no tengo acceso al estado ? Para traanferencia entre capas
@Sebastian-yp9hx2 жыл бұрын
Charly, una consulta... Me he dado cuenta que en este video y en el método static, trabajas en el constructor discriminando algunos atributos como parámetros, sin embargo, luego accedes y trabajas con ellos. Cómo me doy cuenta cuando incluir determinados parámetros en el constructor, y cuáles no? Ej.: public Motor(String numero, double cilindrada, String tipo) { this.numero = numero; this.cilindrada = cilindrada; this.tipo = tipo; this.rpmActuales = 0; (no esta como parámetro) Te agradezco enormemente el tiempo y tu dedicación, son de gran ayuda.
@CharlyCimino2 жыл бұрын
Hola. No hay respuestas absolutas para lo que planteas. En el ejemplo consideré que todo Motor 'nace' parado, es decir, con sus vueltas en cero. Si deseo que eso sea común para todos los motores, ¿para qué pedirlo en el constructor cada vez? ¿Para que siempre manden un cero? Para eso lo establezco manualmente. El resto de los atributos considero que se deben establecer para cada nuevo motor que se quiera instanciar. Otro ejemplo podría ser el estado encendido/apagado: si consideramos que todos los motores 'nacen' apagados por defecto, ese es otro atributo que no haría falta parametrizar en el constructor. Espero haya quedado claro. El POO es muy rico y diverso. Saludos
@victorevangelista8656 Жыл бұрын
Estaba reflexionando, que pasaría si ademas de que el auto tiene un motor, también tuviera un taque de combustible??? es decir que el auto al invocas al método acelerar(), comprobara si el nivel de combustible es mayor que cero y de ser así el motor acelera con su propio método acelerar(), ademas de que el objeto tanque invoque un método para abrir el flujo de combustible y que este vaya disminuyendo. No se si este bien planteado esto.
@CharlyCimino Жыл бұрын
El tanque de combustible va conectado al motor, por ende, problema del Motor, no del Auto, seguirías delegando.
@victorevangelista8656 Жыл бұрын
@@CharlyCimino es decir, que el motor depende del tanque para poder acelerar?? No, más bien sería: un motor tiene conectado un tanque de combustible, sería una asociación.
@CharlyCimino Жыл бұрын
@@victorevangelista8656 claro
@victorevangelista8656 Жыл бұрын
@@CharlyCimino gracias por responder a mi duda profe, seguiré practicando código con este ejemplo, veré que otra cosa se podría agregar, se me ocurre que quizás el auto tenga una función llamada mostrarTablero() dónde se muestren las rpm del motor y el nivel de combustible. 😃
@lucasezequielcastro65853 жыл бұрын
Muy bueno Charly!
@camiloquiroga16542 жыл бұрын
Excelente
@mevaleunhuevo2 жыл бұрын
Que crack, tremenda explicacion, haces clases particulares. tu metodologia de ense;anza es genial? a todo esto en que libro se pueden aprender este principio y otros que ayuden a tener mejores practicas ?
@CharlyCimino2 жыл бұрын
¡Gracias! Te recomiendo "Head First: Desing patterns" de O'Reilly
@damiangarcia2852 жыл бұрын
como haces para escribir o borrar en 3 lineas de codigo a la vez?