分开单元测试
改名、工厂方法和删除。
风格