Knowing how references really differ from pointers should help you decide when to use references and when to stick with pointers. In C++, references provide many of the same capabilities as pointers.
Design patterns have evolved to solve problems often encountered in software applications. The factory method design pattern and the abstract factory design pattern are both creational patterns.