Explanation:
Design Pattern
Design Pattern is defined as how the structure is coded across design - functionality , data abstraction , and leaving space for the future inclusions.
The future inclusions are the business logic which are subjected to change .
DLL - is the interface similar named in java language which specifies the contract of what the product or code is going to perform without exposing the underlying complexities of the implementation .
Example :
Calculator is an example of DLL class which contains - add , multiply, subtract , divide methods. The implementation class implements the calculator and write the implementation of the add, multiply methods.
There can be another class that implements this calculator contract and implement scientific calculation logic. In this way you have different choices or flavors of the same contract .