添加抽象工厂方法：
1，感觉并不是解决这种元素（类别）组合的理想的方式
2，包结构目录创新，采用一种很自然的包扩展方式