O'Reilly logo

Essential Skills for the Agile Developer: A Guide to Better Programming and Design by Amir Kolsky, Ken Pugh, Scott Bain, Alan Shalloway

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 11. Refactor to the Open-Closed

Solving tricky problems can often involve changing your point of view. In this chapter, we’ll examine one particularly tricky problem: how to avoid overdesign without suffering the problems that often accompany an insufficient or naïve design. In the process, we’ll rethink two, hopefully well-known, aspects of development: the Open-Closed principle and the discipline of refactoring. We’ll begin by examining these aspects as they are traditionally understood and then repurpose them in a more agile way.

The Open-Closed Principle

The notion that systems have to accommodate change is not a new one. At the birth of objects and OO, Ivar Jacobsen said, “All systems change during their life cycles. This must be ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required