Design patterns Creational i) Builder ii) singleton iii) Factory Behavioral i) Strategy ii) Command iii) Observer dp master-link , github-link gfg java design pattern effective java summary oodesign dp for humans dp w.r.t SOLID refactoring sourcemaking