用三层架构开发模式,使用了抽象工厂模式。