Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Framework Agnostic

Framework Agnostic

Konrad Alfaro

February 22, 2019
Tweet

More Decks by Konrad Alfaro

Other Decks in Programming

Transcript

  1. Framework Agnostic
    Czyli najlepsze co możesz zrobić dla biznesu 

    z którym pracujesz
    PHPers Opole #3

    View Slide

  2. Konrad Alfaro
    PHP Software Developer @ BitBag
    PHPers Opole #3

    View Slide

  3. Korzyści
    Rozwiązania
    Problemy
    PHPers Opole #3

    View Slide

  4. 1. Frameworki
    PHPers Opole #3

    View Slide

  5. “Framework” programmer
    PHPers Opole #3

    View Slide

  6. PHPers Opole #3

    View Slide

  7. Yuck!
    PHPers Opole #3

    View Slide

  8. PHPers Opole #3

    View Slide

  9. Yuck!
    Yuck!
    PHPers Opole #3

    View Slide

  10. PHPers Opole #3

    View Slide

  11. PHPers Opole #3

    View Slide

  12. Narzut techniczny
    Annotations

    Controllers

    YAMLs
    PHPers Opole #3

    View Slide

  13. PHPers Opole #3

    View Slide

  14. 2. Proces Developerski
    PHPers Opole #3

    View Slide

  15. Brak kultury dzielenia się wiedzą
    PHPers Opole #3

    View Slide

  16. “Boskie klasy” dla logiki biznesowej
    PHPers Opole #3

    View Slide

  17. PHPers Opole #3

    View Slide

  18. 3. “DDD”
    PHPers Opole #3

    View Slide

  19. PHPers Opole #3

    View Slide

  20. Database Driven Development
    Co może dla niektórych oznaczać…
    PHPers Opole #3

    View Slide

  21. Hype Driven Development
    lub po prostu…
    PHPers Opole #3

    View Slide

  22. Yes, of course, we DO in our company
    TDD, BDD, DDD, SOLID, OOP, EVENT SOURCING,
    CQRS, MICROSERVICES, SERVERLESS, CODE
    REVIEW, PAIR PROGRAMMING, AGILE, MEXICAN
    FRIDAYS…
    PHPers Opole #3

    View Slide

  23. PHPers Opole #3

    View Slide

  24. To wszystko to nie rozumienie
    bądź nadużywanie
    technicznych sformułowań
    PHPers Opole #3

    View Slide

  25. Korzyści
    Rozwiązania
    Problemy
    PHPers Opole #3

    View Slide

  26. Po pierwsze…

    Bądź Inżynierem
    PHPers Opole #3

    View Slide

  27. Bądź dociekliwy i nie bój się pytać
    PHPers Opole #3
    (Seniorzy, patrzę na Was)

    View Slide

  28. Używaj
    CQS / CQRS
    Command Query Separation

    Command Query Responsibility Segregation
    PHPers Opole #3

    View Slide

  29. Command
    PHPers Opole #3

    View Slide

  30. Query
    PHPers Opole #3

    View Slide

  31. Client


    UI/Presentation
    Command
    Query
    Event
    Write DB
    Read DB
    PHPers Opole #3

    View Slide

  32. Rozkazywanie aplikacji
    PHPers Opole #3

    View Slide

  33. PHPers Opole #3

    View Slide

  34. PHPers Opole #3
    CommandBus
    thephpleague/tactician norzechowicz/hire-in-social

    View Slide

  35. PHPers Opole #3

    View Slide

  36. PHPers Opole #3
    Użycie w aplikacji

    View Slide

  37. PHPers Opole #3

    View Slide

  38. PHPers Opole #3

    View Slide

  39. PHPers Opole #3

    View Slide

  40. PHPers Opole #3
    Odczytywanie z aplikacji

    View Slide

  41. PHPers Opole #3

    View Slide

  42. PHPers Opole #3

    View Slide

  43. PHPers Opole #3
    QueryBus
    norzechowicz/hire-in-social

    View Slide

  44. Pamiętaj, że Framework to tylko
    jedna z warstw
    PHPers Opole #3

    View Slide

  45. PHPers Opole #3

    View Slide

  46. PHPers Opole #3

    View Slide

  47. PHPers Opole #3

    View Slide

  48. Jak możesz to zorganizować:
    PHPers Opole #3

    View Slide

  49. Jak możesz to zorganizować:
    PHPers Opole #3

    View Slide

  50. Używaj z głową
    Domain Driven Design
    PHPers Opole #3

    View Slide

  51. 40 minut nie wystarczy…
    PHPers Opole #3

    View Slide

  52. Kiedy używać?
    PHPers Opole #3

    View Slide

  53. PHPers Opole #3
    Complex Business Logic

    View Slide

  54. No czyli kiedy?
    PHPers Opole #3

    View Slide

  55. Event Stroming z pomocą!
    http://eventstorming.pl/
    PHPers Opole #3

    View Slide

  56. Wciąż nie rozumiesz?
    PHPers Opole #3

    View Slide

  57. Czytaj i pytaj!
    PHPers Opole #3

    View Slide

  58. Korzyści
    Rozwiązania
    Problemy
    PHPers Opole #3

    View Slide

  59. Dla developera to

    mniej 

    co przekłada się na…
    PHPers Opole #3

    View Slide

  60. Łatwiejsze wprowadzanie zmian
    PHPers Opole #3

    View Slide

  61. Efektywniejsza praca zespołu
    PHPers Opole #3

    View Slide

  62. Efektywniejsze działanie biznesu
    PHPers Opole #3

    View Slide

  63. Naszym obowiązkiem, jako programistów,
    powinno być wspieranie biznesu w jego
    działaniu oraz rozwijaniu
    PHPers Opole #3

    View Slide

  64. Źródła
    •Obrazki w tle: https://pexels.com/
    •Komiks: CommitStrip.com
    •Źródło inspiracji: https://zawarstwaabstrakcji.pl/
    •Oferty pracy: https://justjoin.it/ & https://nofluffjobs.com/
    •Przykłady kodu z github.com:
    • https://github.com/norzechowicz/hire-in-social
    PHPers Opole #3

    View Slide

  65. Thank you!
    github.com/RadnoK
    twitter.com/RadnoK_
    radnok.com
    On behalf of
    PHPers Opole #3

    View Slide