Summary

In this chapter, we completed another architectural refactoring. We extracted the application operations into a separate package; we did not need this package until we came to the point of writing the second client for our application. The need to share the code between the clients was the major driving force behind this refactoring.

As is often the case with software development, the system’s original design does not stay unchanged because the requirements evolve and the system’s structure must follow the same evolution process.

Get Test-Driven Development in Microsoft® .NET now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.