

Instead, patterns let us give names to things that we often talk about. It's easier to say, “my object supports listeners for its properties”, than to say a more verbose, “this object has a method to which you can pass a function that will be called when the member variables of the object have their values changed”.