CABIN (Concrete ABstraction of INterfaces) is just a principle sticked to the notion of object i’ve defined here https://creativcoders.wordpress.com/2014/05/05/what-exactly-is-an-object-oriented-code/ few days ago.
Let’s remind it.
I’ve defined an object oriented code like a concrete class that strictly implements interfaces and extend abstract classes.
Ok, so you’re telling us a class that doesn’t implement an interface and extend abstract classes is not really an object?
Yes, exactly, and let me explain you why.
You surely agree with me that your smartphone is simply an object that help you communicate with the world, right?
What’s really happening in this case, is that your smartphone is just a shape, an abstract shape thought by a company, and containing a complex interface that you concretely use from.
It is as simpler as that and no more complicated.
An object in the real life is only a concrete use of an abstracted shape implementing a specific interface.
The same equals for objected oriented code, then, CABIN stands for Concrete ABstract of INterfaces.
Edouard Kombo // @edouardkombo. Never stop learning.