41. APPLICATION SERVICES
Most often they are "command handlers"
Command object is a DTO
Represents a user's intention
Contains primitive-type values
42. APPLICATION SERVICES
Translate, and orchestrate
From primitive-type values to rich domain objects
Manipulates an entity
Persists it
May dispatch events
55. ADVANTAGES OF USING LAYERS,
PORTS & ADAPTERS
Offers insight into the application
Provides a useful convention for the team
Isolates the low-level details
Allows for alternative implementations
Helps with testing
61. TESTING PYRAMID
Make it well-balanced
Unit
Integration
System
Acceptance
Development
Regression
62. TESTING PYRAMID
Make it well-balanced
Supports development
Prevents regressionSlow, brittle
Fast, stable
Proof of effectiveness
Proof of Correctness
69. A WELL-BALANCED TEST SUITE
Adapters can be easily replaced
Test suite is fast
Feedback is quick
Small amount of fragile tests
Enables continuous delivery