Base project files AsbtractFactory
Complete Abstract Factory code