To learn how to update the categories for this article, see here. To update categories, edit the metadata template.
Definition: A challenge encountered so commonly in object-oriented computer programming that its general solution is taught independently of any particular programming language. [d] [e]