Patrón de arquitectura de plugins o microkernel

Поділитися
Вставка
  • Опубліковано 14 гру 2024

КОМЕНТАРІ • 23

  • @darwingutierrez3488
    @darwingutierrez3488 Рік тому

    Excelente explicación. Gracias por compartir tú conocimientos.. 👏

  • @nelson3391
    @nelson3391 2 роки тому

    Excelente vídeo. Muy útil. Gracias!

  • @andresnator
    @andresnator 5 років тому

    Que chevere ver un ejemplo de esta arquitectura a nivel de código

  • @GianmarcoContreras
    @GianmarcoContreras 4 роки тому +1

    Muy buenos videos, muy agradecido

  • @brianandresvalencia2012
    @brianandresvalencia2012 3 роки тому +2

    Buen día Manuel, excelentes videos y aportes a la comunidad he aprendido bastantes cosas nuevas.
    Tengo una sugerencia, no hay forma de que realices un curso o un video completo donde le apliques la arquitectura de software completamente a un proyecto pequeño de 2 o 3 tablas o algo asi.

  • @Coderos
    @Coderos 5 років тому +5

    Podemos decir con toda certeza que en CMS’s como Wordpress los plugins siguen este patrón de arquitectura.

    • @ManuelZapata
      @ManuelZapata  5 років тому +1

      Totalmente, WordPress es un muy buen ejemplo de la flexibilidad que se puede lograr con plugins

  • @Magistrado1914
    @Magistrado1914 4 роки тому

    Excelente vídeo
    Visto en 08/11/2020

  • @LeonardoAngel3000
    @LeonardoAngel3000 4 роки тому

    Gracias, me acomodaste una idea con el video!

  • @isliz8996
    @isliz8996 3 роки тому +1

    Los criterios anteriores explicados pueden ser el equivalente a lo siguiente:
    1) De los principios SOLID el mas relevante seria el 5to principio "Inversion de Dependencia".
    2) Se debe modularizar el codigo y hacerlo flexible a traves de abstracciones e interfaces de comunicacion entre clases, un ejemplo practico podrian ser la aplicacion de los patrones de diseño "Facade", "Decorator" y "Observer".
    3) Dado que estamos siguiendo el 5to principio SOLID deberemos contar con un "Inyector de dependencias", bien sea uno que ya exista o un personalizado, creado por nosostro para nuestra aplicacion, esto se puede emplear a traves de "arquitectura" o "diseño" (archivos de configuracion, o sistemas de carpetas).
    4) Si bien el modelo de desarrollo microkernel implica la independencia del sistema principal para proveer un funcionamiento base, lo que no podemos ignorar es que nuestro sistema no ignora las posibles modificaciones externas, por ejemplo mediante el 2do principio SOLID (Open/Close), esto solo nos dice que el programa sabe que sera extendido en ciertas partes, no sabemos "como" ni "que" hara, solo podemos saber y decidir "donde" lo hara.
    5) A los usuarios que crean el plugin basta con proveerles las "interface" que deben implementar sus clases para poder integrarse a nuestro sistema. Esta interface puede tener como nombre la version de la aplicacion para la que fue creada. Esto se recomienda, dado que
    si el programa base continua en desarrollo puede que el cambio de logica interna nos obligue a redefinir la estructura o metodos de una interface (es solo otra manera de decir, que los plugins creados hasta el momento quedarian obsoletos, y las personas que dan soporte a los plugins deben recrear la funcionalidad que hicieron bajo una nueva interface).
    Espero que la explicacion sirva para los que llevan tiempo en el desarrollo... =3

    • @isliz8996
      @isliz8996 3 роки тому

      ="( tenia otra explicacion para los que llevaban menos tiempo pero se me borro por un fallo de internet... pude salvar esto que lo tenia en el portapapeles...

  • @jaalorsa
    @jaalorsa 4 роки тому +1

    Tengo una duda: El creador del sistema tiene que documentar y exponer una especie de API para poder integrar el sistema con el plugin que se cree?

  • @johanvillamil2407
    @johanvillamil2407 4 роки тому +1

    Y como se puede implementar este patron con SAAS como por ejemplo shopify donde extiendo mi aplicacion pero claramente no configuro ningun archivo ni tampoco descargo nada solo lo instalo a traves de un marketplace, incluso shopify permite q terceros desarrollen plugins para ellos

    • @ManuelZapata
      @ManuelZapata  4 роки тому

      En ese tipo de casos, se necesita algo más flexible que lo que se haría en una aplicación empresarial. Pero muchas implementaciones parten de dos ideas esenciales:
      1. Un registro ante el sistema principal de los plugins.
      2. Un punto de entrada para la ejecución del plugin.

  • @JonathanAndradeOviedo
    @JonathanAndradeOviedo 4 роки тому +1

    Tal vez podrías realizar un vídeo ejemplificado utilizando este patrón, sobre un aplicación de geolocalizacion utilizando api de google maps o una calculadora , saludos lml

    • @ManuelZapata
      @ManuelZapata  4 роки тому +2

      Saludos Jonathan! Te recomiendo que te des una vuelta por mi curso de patrones de arquitectura. Allí vemos ejemplos de implementación de microkernel: cursos.manuelzapata.co/inscripcion-curso-practico-patrones-arquitectura/

  • @carlosmollapaza9267
    @carlosmollapaza9267 3 роки тому +1

    Bueno te falto lo mas importante los ejemplos con codigos

    • @ManuelZapata
      @ManuelZapata  3 роки тому

      Es algo que he ido corrigiendo con el tiempo. Mis primeros videos nunca incluían código. Si quieres profundizar en el patrón (código incluido), puedes darle una mirada a mi curso premium de Patrones de Arquitectura: cursosmz.co/inscripcion-curso-practico-patrones-arquitectura/

  • @fernandopoveda5485
    @fernandopoveda5485 3 роки тому

    if (cliente == "A") { Install("PuligginA") XD XD