# Screaming Architecture
---
### Core concept
1. What does the architecture of your application scream?
2. Highest-level package
---
### THE THEME OF AN ARCHITECTURE
- OOSE - A Use Case Driven Approach
- Frameworks are tools to be used, not architectures to be conformed to
- Architectures are not (or should not be) about frameworks.
---
### THE PURPOSE OF AN ARCHITECTURE
- Good architectures are centered on use cases
- A good software architecture allows decisions about frameworks, databases, web servers, and other environmental issues and tools to be deferred and delayed
---
### BUT WHAT ABOUT THE WEB?
- Is the web an architecture?
- The web is a delivery mechanism
- Application is delivered over the web is a detail and should not dominate your system structure.
---
### FRAMEWORKS ARE TOOLS, NOT WAYS OF LIFE
- Frameworks can be very powerful and very useful.
- costs?
- Think about how you can preserve the use-case emphasis of your architecture
---
### TESTABLE ARCHITECTURES
- System architecture is all about the use cases
- use-case objects should coordinate your Entity objects
---
### CONCLUSION
- first impression
- New programmers should be able to learn all the use cases of the system, yet still not know how the system is delivered.
{"metaMigratedAt":"2023-06-15T16:31:56.029Z","metaMigratedFrom":"YAML","title":"Screaming Architecture","breaks":true,"slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"5525761c-1b39-465d-9c80-28d23b552681\",\"add\":3259,\"del\":1934}]"}