EDIT: This design is slightly outdated, and not suited for larger hordes. Still good enough for daily bases though.
Just wanted to share a few images of a base concept i started with in A17, and still seem to work in A18e.
The basics are simple: Solid base, 3 blocks high. Towards the base, i made "fingers", and a path of spikes towards the base. The zombies will try to path over the spikes, and damage themself in the process. Once a finger is cleared of spikes, the zombies will try to path along the next finger. And so on, until all spikes are depleted, then they will attack the main base.
However, i can replace the spikes on one finger when the zombies work they way across another. This is why the 2 blocks closest to the base are...