Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Agile Technical Practices Distilled

You're reading from   Agile Technical Practices Distilled A learning journey in technical practices and principles of software design

Arrow left icon
Product type Paperback
Published in Jun 2019
Publisher
ISBN-13 9781838980849
Length 442 pages
Edition 1st Edition
Concepts
Arrow right icon
Authors (3):
Arrow left icon
Marco Consolaro Marco Consolaro
Author Profile Icon Marco Consolaro
Marco Consolaro
Alessandro Di Gioia Alessandro Di Gioia
Author Profile Icon Alessandro Di Gioia
Alessandro Di Gioia
Pedro M. Santos Pedro M. Santos
Author Profile Icon Pedro M. Santos
Pedro M. Santos
Arrow right icon
View More author details
Toc

Table of Contents (31) Chapters Close

Preface 1. Section 1
2. Chapter 1 FREE CHAPTER 3. Chapter 2 4. Chapter 3 5. Chapter 4 6. Chapter 5 7. Section 2
8. Chapter 6 9. Chapter 7 10. Chapter 8 11. Chapter 9 12. Chapter 10 13. Section 3
14. Chapter 11 15. Chapter 12 16. Chapter 13 17. Chapter 14 18. Chapter 15 19. Section 4
20. Chapter 16 21. Chapter 17 22. Chapter 18 23. Chapter 19 24. Chapter 20 25. Chapter 21
26. Chapter 22 27. Chapter 23 28. License: CyberDojo
29. Sample Solutions
30. Feedback

Principles

In the beginning, Test Doubles became popular as an instrument for isolating tests from third-party libraries. Despite that being one of its use cases, and still very useful, it is not the only one and perhaps not the most important.

To attain good object-oriented design, the Test Doubles technique leverages Test-Driven Development by guiding the composition of a coherent, well-encapsulated system of types within a code base. By focusing on behavior instead of data, Test Doubles leads developers to think about object interactions early, identifying the public interfaces first. This focal point switch in the way tests are created is crucial in finding optimal object compositions.

Command-Query Separation

Command-Query Separation or CQS is a principle that states that a software interface abstraction is designed with two types of methods. One method type is known as a Command method, and the other method type is known as a Query method:

Note

Vaughn Vernon, Really...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime