menu 简单麦麦
account_circle

把你的手弄脏干净的建筑-Get Your Hands Dirty on Clean Architecture文件编号:1528

已经帮助了2587人找到了他们想要的文件
上传于 2020年2月27日 23:34
27次下载
4236次围观
评分:4.5/5 ★ ★ ★ ★ ★
标题(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

想了解更多信息?可向上传者提问。点击提问
欢迎您上传文件!
费劲心机找到了自己想要的文件?
不如上传简单麦麦!
分享给别人!还能赚取收益
下载须知
1.如有解压密码 提取码都在下面 注意查看
2.如果有问题 可以通过卖家联系方式 联系卖家 如果没有或无法解决可以联系官方客服
3.本文件为公益分享,文件由网上采集而来,如有侵权等问题,请及时联系客服删除

常见问题及官方客服联系方式:点击前往 售后问题处理方式:点击前往
-到底部了哦-
expand_less