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
Tweet

More Decks by Jose Armesto

Other Decks in Programming

Transcript

  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