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

Deptrac - Keep Your Architecture Clean

Deptrac - Keep Your Architecture Clean

A short introduction to Deptract (https://github.com/sensiolabs-de/deptrac) given at the PHPNW16 Unconference

Andreas Hucks

October 01, 2016
Tweet

More Decks by Andreas Hucks

Other Decks in Programming

Transcript

  1. Deptrac
    Clean Up Your Architecture
    SensioLabs

    View Slide

  2. SensioLabs
    Andreas Hucks
    CTO @ SensioLabs Germany
    @meandmymonkey

    View Slide

  3. SensioLabs

    View Slide

  4. View Slide

  5. SensioLabs
    The Problem
    • Getting legacy code under control
    • Gain insight into applications
    • Constrain changes to boundaries defined by
    your architecture

    View Slide

  6. SensioLabs
    Clean Packages
    • Separate your business code from your
    framework
    • … or in fact, any other 3rd party libs
    • Separate your own layers (Domain,
    Application, Infrastructure…)

    View Slide

  7. SensioLabs
    github.com/sensiolabs-de/deptrac
    Deptrac

    View Slide

  8. SensioLabs
    depfile.yml

    View Slide

  9. SensioLabs
    Demo Time

    View Slide

  10. SensioLabs
    Drill down
    • Create multiple depfiles to create different
    views on your code
    • Enforce rules on different levels - inside your
    domain, or between top level packages

    View Slide

  11. SensioLabs
    What can you do?
    • Use it. Test it!
    • Other output formats
    • More Collectors
    • Exclusions to allow specific deps

    View Slide

  12. SensioLabs
    Tim Glabisch
    @timglabisch
    and all contributors
    github.com/sensiolabs-de/
    deptrac/graphs/contributors
    Kudos

    View Slide

  13. Thanks!
    joind.in/talk/5f724
    SensioLabs

    View Slide