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

Hexagonal Architecture

Jose Armesto
September 28, 2013

Hexagonal Architecture

Introduction to the Hexagonal Architecture

Jose Armesto

September 28, 2013

Transcript

61 slides
  1. 2

  2. Why do we need OOP? Better communication Modeling Separation of

    concerns Dependency management Extensibility
  3. Abstraction Having no reference to material objects or specific examples;

    not concrete. Not applied or practical; theoretical - WordReference
  4. Business logic "Classes representing your domain must be understandable by

    anyone, even though they are not familiar with your framework or database of choice" - Jose Armesto
  5. The web is a detail "The Web is a delivery

    mechanism [...] Your system architecture should be as ignorant as possible about how it is to be delivered. You should be able to deliver it as a console app, or a web app, or even a web service app, without undue complication or change to the fundamental architecture" - Robert Martin
  6. Use Stories As a User I want to log in

    to the system So I can use it
  7. Summary Independent of framework Expose the intent of your app

    Agnostic of tools Acceptance tests of your use cases
  8. Pictures http://www.unex.es/conoce-la-uex/estructura- academica/centros/epcc/archivos/imagenes/twitterbirdblueonwhite.png http://upload.wikimedia.org/wikipedia/de/5/57/Gmail-logo.jpg http://www.reactionface.info/sites/default/files/imagecache/Node_Page/images/28405225.jpg http://thisboyisonfire.files.wordpress.com/2013/06/cable-mess.jpg http://cdn.cpcstrategy.com/blog/wp-content/uploads/2012/07/ingredients.jpg http://www.threeriversinstitute.org/blog/wp-content/uploads/2009/08/connectedAndModularDesign.jpg http://www.seoconsult.com/blog-images/wp-content/uploads/2011/10/oop.jpg http://www.fasebonus.net/old/images/stories/2012/02/joystick%20cx-40.jpg

    http://www.mifondodepantallagratis.net/artistic/wallpapers/dali-elephants.jpg http://farm3.staticflickr.com/2678/4238610357_b746809d94_o.jpg http://farm3.staticflickr.com/2678/4238610357_b746809d94_o.jpg http://www.htmlgoodies.com/img/2010/11/mvc.png http://substack.net/images/separation_of_concerns.png http://manualburquerque.files.wordpress.com/2012/04/titiritero.jpg http://dmuela.com/blog/wp-content/uploads/2013/07/symfony-logo.png http://www.maltblue.com/wp-content/uploads/2012/12/ZF2-Logo.png http://www.antoniopol.es/wp-content/uploads/2013/04/laravel.jpg http://thesestonewalls.com/wp-content/uploads/2012/11/Hal.png http://blog.yannickmahe.com/symfony/2013/08/19/the-walking-dead.html http://us.123rf.com/400wm/400/400/antonbrand/antonbrand1204/antonbrand120400030/13295825-verde- lindo-zombies-de-dibujos-animados-aislado-en-blanco.jpg
  9. Pictures http://cdn4.pedroventura.com/wp-content/uploads/2013/05/mysql_logo.png http://www.recipesforlinux.com/wp-content/uploads/2013/06/logo-mongodb-onwhite.png http://redis.io/images/redis-300dpi.png http://confreaks.com/videos/759-rubymidwest2011-keynote-architecture-the-lost-years http://addins.waow.com/blogs/weather/wp-content/uploads/2011/07/gold-panning.jpg http://www.clker.com/cliparts/7/2/a/6/11949889842140432868gold_coins_in_a_stack_jo_01.svg.med.png http://i.istockimg.com/file_thumbview_approve/3411362/2/stock-illustration-3411362-cartoon-professor- with-bushy-moustache.jpg http://www.codingthearchitecture.com/2011/11/06/the_delivery_mechanism_is_an_annoying_detail.html

    http://blog.mattwynne.net/wp-content/uploads/2012/06/hexagonal_architecture_sketch.jpg http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html http://www.mformommy.com/wp-content/uploads/2012/06/expectation.jpg http://s7d5.scene7.com/is/image/Staples/s0356787_sc7?$splssku$ http://fc04.deviantart.net/fs71/f/2011/282/0/5/adventure_time_render_by_emoneygraphix-d4cbh8q.png http://yellower.se/wp-content/uploads/2011/12/note_post_it_desktop_2115x1871_wallpaper-80493.jpg http://nvartscouncil.com/wp-content/uploads/2013/04/thanks.jpg

More Decks by Jose Armesto

Other Decks in Programming