Get Your Hands Dirty on Clean Architecture: Build 'clean' applications with code examples in Java, 2/e (Paperback)

Tom Hombergs

買這商品的人也買了...

商品描述

Gain insight into how Hexagonal Architecture can help to increase maintainability.

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 making conscious architecture decisions

Book Description

Building for maintainability is key to keep development costs low (and developers happy). The second edition of "Get Your Hands Dirty on Clean Architecture" is here to equip you with the essential skills and knowledge to build maintainable software.

Building upon the success of the first edition, this comprehensive guide explores the drawbacks of conventional layered architecture and highlights the advantages of domain-centric styles such as 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, what shortcuts produce what types of technical debt, and how, sometimes, it is a good idea to willingly take on those debts.

By the end of this second edition, you'll be armed with a deep understanding of the Hexagonal Architecture style and be ready to create maintainable web applications that save money and time. Whether you're a seasoned developer or a newcomer to the field, "Get Your Hands Dirty on Clean Architecture" will empower you to take your software architecture skills to new heights and build applications that stand the test of time.

What you will learn

  • Identify potential shortcomings of using a layered architecture
  • Apply varied methods to enforce architectural boundaries
  • Discover how potential shortcuts can affect the software architecture
  • Produce arguments for using different styles of architecture
  • Structure your code according to the architecture
  • Run various tests to check 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.

商品描述(中文翻譯)

深入了解六邊形架構如何提高可維護性。

主要特點:

- 探索使軟體具有靈活性、可擴展性和適應性的方法
- 學習可以輕鬆融入自己軟體開發風格的新概念
- 培養有意識的架構決策思維

書籍描述:

建立可維護性是降低開發成本(並讓開發人員滿意)的關鍵。第二版的《Get Your Hands Dirty on Clean Architecture》將為您提供建立可維護軟體所需的基本技能和知識。

在第一版的成功基礎上,這本全面指南探討了傳統分層架構的缺點,並突出了以領域為中心的風格(如Robert C. Martin的Clean Architecture和Alistair Cockburn的Hexagonal Architecture)的優點。然後,本書深入介紹了如何在實際代碼中實現六邊形架構的實踐章節。您將詳細了解六邊形架構的不同層之間的映射策略,並了解如何將架構元素組合成應用程序。後面的章節演示了如何強制執行架構邊界,哪些捷徑會產生什麼類型的技術債務,以及有時候有意承擔這些債務是一個好主意。

通過閱讀本書的第二版,您將深入了解六邊形架構風格,並準備好創建可節省金錢和時間的可維護網絡應用程序。無論您是一位經驗豐富的開發人員還是新手,本書都將使您能夠將軟體架構技能提升到新的高度,並構建經得起時間考驗的應用程序。

您將學到什麼:

- 辨識使用分層架構可能存在的缺點
- 應用各種方法來強制執行架構邊界
- 發現潛在的捷徑如何影響軟體架構
- 提出使用不同架構風格的論點
- 根據架構結構化您的代碼
- 執行各種測試以檢查架構的每個元素

本書適合對正在構建的軟體架構感興趣的讀者。要充分利用本書,您必須具有一些網絡開發經驗。本書中的代碼示例使用Java。如果您不是Java程序員,但可以閱讀其他語言的面向對象代碼,那麼您也可以理解。在需要Java或框架特定知識的少數地方,都有詳細的解釋。

目錄大綱

  1. Maintainability
  2. What's Wrong with Layers?
  3. Inverting Dependencies
  4. Organizing Code
  5. Implementing a Use Case
  6. Implementing a Web Adapter
  7. Implementing a Persistence Adapter
  8. Testing Architecture Elements
  9. Mapping between Boundaries
  10. Assembling the Application
  11. Taking Shortcuts Consciously
  12. Enforcing Architecture Boundaries
  13. Managing Multiple Bounded Contexts
  14. A Component-Based Approach to Software Architecture
  15. Deciding on an Architecture Style

目錄大綱(中文翻譯)

維護性
圍繞層的問題是什麼?
反轉依賴
組織代碼
實現用例
實現 Web 适配器
實現持久性适配器
測試架構元素
界限之間的映射
組裝應用程序
有意識地走捷徑
強制執行架構界限
管理多個有界上下文
基於組件的軟體架構方法
選擇一種架構風格