Well said! I have met a few of these codesmells where the actual functioning is hidden behind a bewildering maze of facades, shims, proxies and whatnot.
I guess some has had an irresistible itch to use as many patterns from the GoF book as possible.
I guess some has had an irresistible itch to use as many patterns from the GoF book as possible.
It's rare to need facades, proxies, and shims in a dynamically typed language where the caller doesn't need to care about the type of the object they call.
In fact, most of the Gang of Four design patterns either make no sense in Ruby or are reduced to next to nothing.