menu 简单麦麦
account_circle

把你的手弄脏干净的建筑-Get Your Hands Dirty on Clean Architecture

帮助2592人找到了他们想要的文件
上传于 2020-02-27 51次下载 3414次围观
文件编号:1528
文件详情
标题(title):Get Your Hands Dirty on Clean Architecture
把你的手弄脏干净的建筑
作者(author):Tom Hombergs
出版社(publisher):Leanpub
大小(size):4 MB (4597339 bytes)
格式(extension):pdf
注意:如果文件下载完成后为无法打开的格式,请修改后缀名为格式对应后缀

A good software architecture should keep the cost of development low over the complete lifetime of an application.

This book discusses how the Hexagonal Architecture style tries to fulfill this goal and translates the concepts into actual code to provide inspiration for software developers.
Table of contents :
Table of Contents

Preface
What Is the Goal of This Book?
Who Should Read This Book?
The Example Application
A Note on Code Examples
Feedback
1. What’s Wrong With Layers?
It Promotes Database-Driven Design
It’s Prone to Shortcuts
It Grows Hard to Test
It Hides the Use Cases
It Makes Parallel Work Difficult
How Does This Help Me Build Maintainable Software?
2. Inverting Dependencies
The Single Responsibility Principle
A Tale about Side Effects
The Dependency Inversion Principle
Clean Architecture
Hexagonal Architecture
How Does This Help Me Build Maintainable Software?
3. Organizing Code
Organizing By Layer
Organizing By Feature
An Architecturally Expressive Package Structure
The Role of Dependency Injection
How Does This Help Me Build Maintainable Software?
4. Implementing a Use Case
Implementing the Domain Model
A Use Case in a Nutshell
Validating Input
The Power of Constructors
Different Input Models for Different Use Cases
Validating Business Rules
Rich vs. Anemic Domain Model
Different Output Models for Different Use Cases
What About Read-Only Use Cases?
How Does This Help Me Build Maintainable Software?
5. Implementing a Web Adapter
Dependency Inversion
Responsibilities of a Web Adapter
Slicing Controllers
How Does This Help Me Build Maintainable Software?
6. Implementing a Persistence Adapter
Dependency Inversion
Responsibilities of a Persistence Adapter
Slicing Port Interfaces
Slicing Persistence Adapters
Example with Spring Data JPA
What about Database Transactions?
How Does This Help Me Build Maintainable Software?
7. Testing Architecture Elements
The Test Pyramid
Testing a Domain Entity with Unit Tests
Testing a Use Case with Unit Tests
Testing a Web Adapter with Integration Tests
Testing a Persistence Adapter with Integration Tests
Testing Main Paths with System Tests
How Much Testing is Enough?
How Does This Help Me Build Maintainable Software?
8. Mapping Between Boundaries
The “No Mapping” Strategy
The “Two-Way” Mapping Strategy
The “Full” Mapping Strategy
The “One-Way” Mapping Strategy
When to use which Mapping Strategy?
How Does This Help Me Build Maintainable Software?
9. Assembling the Application
Why Even Care About Assembly?
Assembling via Plain Code
Assembling via Spring’s Classpath Scanning
Assembling via Spring’s Java Config
How Does This Help Me Build Maintainable Software?
10. Enforcing Architecture Boundaries
Boundaries and Dependencies
Visibility Modifiers
Post-Compile Checks
Build Artifacts
How Does This Help Me Build Maintainable Software?
11. Taking Shortcuts Consciously
Why Shortcuts Are Like Broken Windows
The Responsibility of Starting Clean
Sharing Models between Use Cases
Using Domain Entities as Input or Output Model
Skipping Incoming Ports
Skipping Application Services
How Does This Help Me Build Maintainable Software?
12. Deciding on an Architecture Style
The Domain is King
Experience is Queen
It Depends
Changelog
Notes
付费内容

常见问题

  • question_answer
    解压密码,提取码在哪?
    keyboard_arrow_down
    • 均在下载旁边哦,请注意查看,如果没有则是不需要密码
  • question_answer
    文件不符合描述怎么办?
    keyboard_arrow_down
    • 如果有文件问题,可以通过 卖家联系方式 联系卖家,如果 联系不上卖家 或 卖家无法解决则可以在我的订单页面申请售后
  • question_answer
    其他
    keyboard_arrow_down
    • 3.本文件为公益分享,文件由网上采集而来,如有侵权等问题,请及时联系客服删除
      常见问题及官方客服联系方式:点击前往
      售后问题处理方式:点击前往
登陆后下载
微信扫码支付
把你的手弄脏干净的建筑-Get Your Hands Dirty on Clean Architecture
支付金额: 共计:¥0.0

添加收藏

创建新合集

-到底部了哦-