Design principles for the effective developer
How many design patterns and principles can you name as developer? Are they important? Should we not rather focus on delivering features, as long as it works?
It's a non-trivial balance between reasonably designing our systems, with well-laid-out structures that communicate the intentions, or over-engineering them. This session shows which design principles effective developers should know about, why they should care, and most importantly, how to productively approach design and architecture. We'll have a look at the SOLID principles, will see why the chosen design is more important than the actual technology choices, what's behind crafting maintainable test code, and what to know about Domain-Driven Design. All of that with the goal of keeping a high velocity and creating beautifully crafted code.
Thanks for attending my session! I love to share knowledge and to continuously improve. Therefore, I really appreciate your constructive feedback. Thanks for taking the time :-)
- Domain-Driven Design — Eric Evans
- Clean Code — Robert C. Martin
- Java By Comparison — Simon Harrer, Jörg Lenhard, Linus Dietz
- Functional Programming in Java — Venkat Subramaniam
- Effective Java — Joshua Bloch
- Architecting Modern Java EE Applications — S. Daschner