1. 1
  1.  

  2. 1

    I feel like this is sort of a workaround for systems that did not follow the open closed principle. The end-user is forced to basically reinvent interfaces and the notion of implementing an interface. I assume this workaround falls apart if the technique is applied to a final class?