使用三层架构及抽象工厂开发模式,其中附带数据库