Hi Andrew. Thanks for reading and for your response.
I agree that DRY is a great guiding principal across all coding and not just object oriented. I should have clarified that better.
My hope in this article isn’t to say that DRY is bad or not worth striving for. I do my best to avoid duplicate code whenever possible. The reason I wrote this article, was because the software systems I have worked on have suffered from developers creating “reusable” components that generally make it difficult or confusing to make changes to the codebase. ie they aren’t actually that reusable.
That isn’t to say that DRY code is inherently complex. I think you can (and should) have components that are simple and reusable. In my experience, however, those components evolve and are created overtime rather than all at once.