News for hackers. Stuff that matters.
Re:Metaclasses: Thoughts on generative C++ by Someone on Friday July 28, 2017 @02:35PM (#14876458)
"Is there an agreed name for this pattern?"

I wouldn't know, but some Dylan book taught me that, along the abstract-concrete dimension, there are not two, but three kinds of classes:

  - concrete, instantiable
  - abstract, instantiable
  - abstract, not instantiable
where a type <foo> is instantiable if a function make(<foo>) exists (because <foo> is abstract, that function must return an instance of a subclass of <foo>)

That factory function makes your abstract class instantiable.

Also, in Java, Foo would be an interface, and that factory would be a FooFactory.

There are no comments on this comment yet.