I have read some information about Class Cluster pattern, and understood next:
public cluster class only provides interface without actual implementation, other classes implement it for different cases;
it has some similarities with Abstract Factory pattern: when we call method
+classNameWith...it depending on arguments can choose the most appropriate subclass and return it.
For example, +[NSNumber numberWithDouble:1.0], will return implementation for storing double values.
But what i didn't understand: how works -init... methods of public cluster class:
[[NSNumber alloc] initWithDouble:1.0], as after calling alloc it already allocates instance of NSNumber, not it's subclass.
So, can somebody explain how actually works alloc-init methods of public cluster class, and when concrete subclass instantiated and returned?