I think it is better to master 23 Design Patterns as a Java developer.
After I have a brief study, I find design pattern is not a new concept, and I have already used some of them in my daily projects unconsciously.
Here I will describe some details about Decorator and Proxy, as I find they share something in common.
Decorator
This pattern can dynamically add some new features to an Instance.When to use this?
Need to extend a class dynamically
Dynamically add/remove functions for new instance (Inheritance is static without dynamically adding or removing.)