I have a class, and I want to write factory methods which will encapsulate different ways of creating instances of this class.
I can do this in 3 ways:

// static method of the class
public class Item
{
        public static Item createItem_1() { ... }
}

// module function
public Item createItem_2() { ... }

// static function of the module
public static Item createItem_3() { ... }

Which way should I choose? What are their pros and cons?

Reply via email to