Listen and read

Step into an infinite world of stories

  • Read and listen as much as you want
  • Over 1 million titles
  • Exclusive titles + Storytel Originals
  • 7 days free trial, then €9.99/month
  • Easy to cancel anytime
Subscribe Now
Details page - Device banner - 894x1036

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java

3 Ratings

5

Language
English
Format
Category

Non-fiction

Gain insight into how hexagonal architecture can help to keep the cost of development low over the complete lifetime of an application

Key Features • Explore ways to make your software flexible, extensible, and adaptable

• Learn new concepts that you can easily blend with your own software development style

• Develop the mindset of building maintainable solutions instead of taking shortcuts

Book Description

We would all like to build software architecture that yields adaptable and flexible software with low development costs. But, unreasonable deadlines and shortcuts make it very hard to create such an architecture.

Get Your Hands Dirty on Clean Architecture starts with a discussion about the conventional layered architecture style and its disadvantages. It also talks about the advantages of the domain-centric architecture styles of Robert C. Martin's Clean Architecture and Alistair Cockburn's Hexagonal Architecture. Then, the book dives into hands-on chapters that show you how to manifest a hexagonal architecture in actual code. You'll learn in detail about different mapping strategies between the layers of a hexagonal architecture and see how to assemble the architecture elements into an application. The later chapters demonstrate how to enforce architecture boundaries. You'll also learn what shortcuts produce what types of technical debt and how, sometimes, it is a good idea to willingly take on those debts.

After reading this book, you'll have all the knowledge you need to create applications using the hexagonal architecture style of web development.

What you will learn • Identify potential shortcomings of using a layered architecture

• Apply methods to enforce architecture boundaries

• Find out how potential shortcuts can affect the software architecture

• Produce arguments for when to use which style of architecture

• Structure your code according to the architecture

• Apply various types of tests that will cover each element of the architecture

Who this book is for

This book is for you if you care about the architecture of the software you are building. To get the most out of this book, you must have some experience with web development. The code examples in this book are in Java. If you are not a Java programmer but can read object-oriented code in other languages, you will be fine. In the few places where Java or framework specifics are needed, they are thoroughly explained.

Tom Hombergs is a software engineer by profession and by passion with more than a decade of experience working on many different software projects for many different clients across various industries. In software projects, he takes on the roles of software developer, architect, and coach, with a focus on the Java ecosystem. He has found that writing is the best way to learn, so he likes to dive deep into topics he encounters in his software projects to create texts that give structure to the chaotic world of software development. He regularly writes about software development on his blog and is an occasional speaker at conferences.

© 2019 Packt Publishing (Ebook): 9781839212710

Release date

Ebook: September 30, 2019

Others also enjoyed ...

  1. Clean Code: A Handbook of Agile Software Craftsmanship Robert C. Martin
  2. 97 Principles for Software Architects: Axioms for software architecture and development written by industry practitioners Multiple Authors
  3. Coders: Who They Are, What They Think and How They Are Changing Our World Clive Thompson
  4. Building Microservices: Designing Fine-Grained Systems Sam Newman
  5. The Clean Coder: A Code of Conduct for Professional Programmers Robert C. Martin
  6. Devops: Building Software With Lean Process For Modern Business Steven Branson
  7. Software Development Fundamentals Introbooks Team
  8. Software Engineering Fundamentals Introbooks Team
  9. Java Fundamentals Introbooks Team
  10. Coders at Work: Reflections on the Craft of Programming Peter Seibel
  11. Computational Thinking Peter J. Denning
  12. Programming Interviews For Dummies Eric Butow
  13. Coding for Beginners Using Python: A HANDS-ON, PROJECT-BASED INTRODUCTION TO LEARN CODING WITH PYTHON MARK MATTHES AND ERIC LUTZ
  14. Once Upon an Algorithm: How Stories Explain Computing Martin Erwig
  15. Java Programming Simplified: Fundamental of Object-Oriented Language and Addition of a Guide on the C++ Language Eddy Romansky
  16. Production Kubernetes: Building Successful Application Platforms John Harris
  17. Agile: Essentials of Team and Project Management. Manifesto for Agile Software Development Alex Campbell
  18. Agile Software Development for Beginners: Advanced Strategies for Optimal Software Development Performance Jacob Richardson
  19. Data Science John D. Kelleher
  20. What You Don't Know: Successfully Lead A Software Project ... Without Tech Expertise Dr. Will Bralick
  21. Learn Scrum with Interview Questions: Agile and Scrum training and preparation for interviews for Scrum roles. Jimmy Mathew
  22. Solutions Architect's Handbook: Kick-start your career as a solutions architect by learning architecture design principles and strategies Saurabh Shrivastava
  23. Competing in the Age of AI: Strategy and Leadership When Algorithms and Networks Run the World Karim R. Lakhani
  24. Learning Systems Thinking: Essential Non-Linear Skills and Practices for Software Professionals Diana Montalion
  25. Scrum: Using Agile Planning, Sprint, Advanced Software, and Team Management Sally Stephens
  26. Hyperfocus: How to Work Less and Achieve More Chris Bailey
  27. Site Reliability Engineering: How Google Runs Production Systems Chris Jones
  28. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems Martin Kleppmann
  29. Agile Project Management for Dummies Mark C. Layton
  30. The Pleasure of Finding Things Out: The Best Short Works of Richard P. Feynman Richard P. Feynman
  31. Learn manual software testing through interview questions: Learn theoretical basics of software testing with a course flow based on Interview Preparation with Questions, Answers Jimmy Mathew
  32. How To Win Friends And Influence People Dale Carnegie
  33. Data Science For Dummies: 2nd Edition Lillian Pierson
  34. Google Cloud Cookbook: Practical Solutions for Building and Deploying Cloud Services, 1st Edition Rui Costa
  35. Database Internals: A Deep Dive into How Distributed Data Systems Work, 1st Edition Alex Petrov
  36. Ask Your Developer: How to Harness the Power of Software Developers and Win in the 21st Century Jeff Lawson
  37. Noise Daniel Kahneman
  38. Build: An Unorthodox Guide to Making Things Worth Making Tony Fadell
  39. Never Split the Difference: Negotiating As If Your Life Depended On It Chris Voss
  40. Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Seth Stephens-Davidowitz
  41. The World According to Physics Jim Al-Khalili
  42. Bad Blood: Secrets and Lies in a Silicon Valley Startup John Carreyrou
  43. The Hard Thing About Hard Things: Building a Business When There Are No Easy Answers Ben Horowitz
  44. Cybersecurity For Dummies Joseph Steinberg

This is why you’ll love Storytel

  • Listen and read without limits

  • 800 000+ stories in 40 languages

  • Kids Mode (child-safe environment)

  • Cancel anytime

Unlimited stories, anytime
Time limited offer

Unlimited

Listen and read as much as you want

9.99 € /month
  • 1 account

  • Unlimited Access

  • Offline Mode

  • Kids Mode

  • Cancel anytime

Try now