I hope that you have learned something about design patterns
and object instantiation as a whole. These lists are definitely not complete,
but are simply some important design considerations when developing software,
and are some of the approaches to creating objects. In addition, you can find
plenty of information on the internet by just googling for one of the design
pattern names.
Is it worth using design patterns? As a whole yes, but which
pattern to choose can be a daunting task. It is important to remember not to
lose hope when you choose a pattern and later find that it would have been
easier to choose an alternative pattern. While very helpful, design patterns
are hard to apply because you need a grander scale of the design/requirements
than is necessarily available to you at the time, which is why the principle of
refactoring is very important.
Application development can be subjective for certain
applications, meaning that there can be many solutions to one problem and they
can all be the right approach. What is important is not whether you have
chosen the correct one, but whether you have implemented it well in your
applications.