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

The how and why of composable Magento

The how and why of composable Magento

Ask any developer and they will likely say reuse is very important to them. They have been taught or learned about DRYand now apply it to their code. However, what about features of the application? Many features are similar between applications so why would we repeat the writing of them?

Composable applications can be reused in a myriad of different ways you just combine the features the way you need them this time around.

This presentation applies this thinking to Magento. Showing how this can be done with the Magento 1.x branch and the module ecosystem. It then goes on to show how this thinking is at the core of Magento 2.0

But why should you develop with composable, modular code?

Because it answers the intention of reuse and DRY in a much more tangible way. This presentation will show you not just how but why, with some real World experience to go beyond the theory.


Alistair Stead

November 07, 2015

More Decks by Alistair Stead

Other Decks in Programming


  1. The HOW & WHY of composable Magento

  2. James Cowie Technical Team Lead Session Digital t/@jcowie gh/jamescowie Alistair

    Stead CTO Session Digital t/@alistairstead gh/alistairstead
  3. Reuse... verb |riːˈjuːz| [ with obj. ] use again or

    more than once: the tape could be magnetically erased and reused. noun |riːˈjuːs| [ mass noun ] the action of using something again: the ballast was cleaned ready for reuse.
  4. Don't Repeat Yourself⌘ ⌘ Cut: Command ⌘ - x, Copy:

    Command ⌘ - c, Paste: Command ⌘ - v
  5. “Every piece of knowledge should have one and only one

    representation.” — Dave Thomas and Andy Hunt
  6. Inheritance

  7. Traits & Mixins?

  8. Composition

  9. ⎏ Interfaces

  10. Modules for reuse

  11. None
  12. None
  13. modman

  14. Composer

  15. Magento - Composer

  16. packages.firegento

  17. Versioning 1.0.2

  18. Composable Magento

  19. Service contracts

  20. Dependency Injection

  21. Abstraction away from the framework

  22. The naked Magento module

  23. Your value as an engineer is not the sum of

    the code you have written — LoC !== $$
  24. Ephemeralization

  25. Doing more with lessFuller, 1938 Fuller, 1938 Buckminster (Bucky) Fuller

  26. Reuse through reduced MASS

  27. Building LESS, well!

  28. Thank you...

  29. None
  30. None
  31. [We are hiring...]

  32. Credits • https://skillsmatter.com/skillscasts/6433-business-logic-a- different-perspective • https://www.youtube.com/watch?v=X8lqnO7aYe0