“Always expose the highest admissible level interface of the returned collection, and consume the lowest admissible level interface.”

This sounds like the robustness principle, but opposite. Did you mean to say “Always expose the lowest admissible level interface of the returned collection, and consume the highest admissible level interface.”

I’m a software developer who is passionate about learning how things work behind the scenes.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store