Protocol for implementing class clusters in mulle-objc. A class cluster is an abstract factory pattern that returns concrete subclasses while hiding the implementation details.
+__classClusterClass
- Returns the actual concrete class to instantiate+initialize
- Must call [super initialize]
or
MulleObjCClassMarkAsClassCluster()
if overriddenMulleObjCClassMarkAsClassCluster
- Mark class as clusterMulleObjCClassIsClassCluster
- Check if class is clusterUse this protocol to implement class clusters: - Your abstract base
class adopts MulleObjCClassCluster
and will alloc
placeholder - Your concrete subclasses inherit from your base class and
will use NSAllocateObject
Note: The class cluster pattern is used to provide a simpler public interface while allowing multiple specialized implementations internally.