DP List
DPList.map(dp => whyWhereHow(dp))
/* dp = Dependency Inversion */
/* dp = Publish subscribe */
/* dp = Facade */
/* dp = Decorator */
/* dp = Mixin */
/* dp = Observer */
/* dp = Proxy */
/* dp = Chain of Responsibility */
/* dp = Iterator */