Symfony : Clean Architecture + CQS Pattern ( practical example)

แชร์
ฝัง
  • เผยแพร่เมื่อ 9 ม.ค. 2025

ความคิดเห็น • 14

  • @tchimoujoelkoffi2589
    @tchimoujoelkoffi2589 11 วันที่ผ่านมา

    Bonjour j'aime bien vos vidéos et j'apprends beaucoup. Effectivement si tu peux faire une vidéo vraiment cas pratiques de À à Z d'un système de blog comme exemple.

    • @devscast_org
      @devscast_org  11 วันที่ผ่านมา +1

      D'accord je vais essayer avec une vidéo en début d'année, si ça marche je pourrais en faire une série

    • @tchimoujoelkoffi2589
      @tchimoujoelkoffi2589 5 วันที่ผ่านมา

      @devscast_org ben super c'est génial

  • @moachi_01
    @moachi_01 วันที่ผ่านมา

    Vidéo très intéressante et bien expliquée, merci !
    Une petite question concernant le tout début où tu expliques ta structure sous forme de BoundedContext. Les contextes peuvent communiquer entre eux, du moment qu'il s'agit de la meme couche ?
    Par exemple, une classe Foo déclarée dans IdentityAndAccess à la couche Domain pourra etre utilisée dans le context Billing, couche Domain uniquement ?

    • @devscast_org
      @devscast_org  20 ชั่วโมงที่ผ่านมา +1

      Ouais le domain ne doit dépendre de rien d’autre que du domain ! Utiliser Foo dans Billing sur projet comme celui on peut se le permettre
      Mais on évitera les dépendances entre context avec des ACLs et Agrégats (c’est beaucoup plus poussé) et ça pourra faciliter la subdivision des contexts en micro service par exemple

    • @devscast_org
      @devscast_org  20 ชั่วโมงที่ผ่านมา +1

      Pour revenir sur les notions de DDD, dans Identity un utilisateur est un User mais dans Billing c’est un Subscriber 😅
      C’est exactement le même utilisateur mais le changement de contexte change également la sémantique et le langage à utiliser et du coup il y’a plus vraiment de lien direct entre Identity et Billing 😅
      La nation d’agrégation et plutôt intéressante pour ça

    • @moachi_01
      @moachi_01 14 ชั่วโมงที่ผ่านมา

      @@devscast_org merci pour les infos, je creuse de mon côté et c'est très intéressant. Je découvre beaucoup de concepts grâce à ça :)
      De ce que j'ai pu comprendre, tu as un User et un Customer dans ton exemple, qui sont quasiment identiques dans la définition, avec potentiellement quelques variations.
      Et l'ACL est simplement un service qui va traduire un User en Customer.
      Ca va permettre à ton BillingContext d'obtenir les infos du User, sans créer pour autant une dépendance avec l'Identity car il passe par un service (qui est donc l'ACL).

    • @devscast_org
      @devscast_org  4 ชั่วโมงที่ผ่านมา +1

      Exactement exactement !

  • @yolservengoma885
    @yolservengoma885 19 วันที่ผ่านมา

    La couche présentation n'interagit pas avec le domain directement

    • @devscast_org
      @devscast_org  19 วันที่ผ่านมา

      Oui effectivement voilà à quoi sert la couche applicative, je crois que je vais devoir faire une vidéo pour chaque couche plutôt qu’à la va vite

    • @sergemezui
      @sergemezui 14 วันที่ผ่านมา

      J'ai regardé la vidéo la semaine derrière, j'ai émis beaucoup de critiques mais après une mûre réflexion j'ai commencé à mettre ma façon de faire en question et franchement en regardant les spécifications j'ai compris l'utilité de le faire. Surtout pour les test et la maintenance. Manque plus qu'à l'implémenter dans mon prochain projet. Merci Bernard.

    • @devscast_org
      @devscast_org  14 วันที่ผ่านมา

      Ouais mais après si ton projet n’est pas complexe ça ne nécessitera pas tout ça 😅 c’est pas une façon de faire universelle adapté à tout projet, si c’est le cas alors beaucoup de courage
      J’ai pas mentionné dans la vidéo mais les tests sont beaucoup plus facile à réaliser vu le découplage

    • @sergemezui
      @sergemezui 13 วันที่ผ่านมา

      @devscast_org oui j'ai un projet de plus de 10 entités et des dizaines de use case qui sont biensur testé. La maintenance de ce code est vraiment fastidieuse et je comprends bien la nécessité de le decoupler avant qu'il ne grandisse d'avantage.
      En parlant des tests ils sont certes implémenté mais ils sont très lourd surtout que je suis obligé de faire des tests end to end. Avec cette archi, la plupart des tests seront unitaires.

    • @devscast_org
      @devscast_org  13 วันที่ผ่านมา

      Ouais Exactement