作法(Mechanics)
- 使用Replace Constructor with Factor Method(304)。
- 编译,测试。
- 决定由什么对象负责提供访问新对象的途径。
- ==》可能是个静态字典(static dictionary)或一个注册对象(registry object)
- ==》你也可以使用多个对象作为新对象的访问点(access point)。
- 决定这些reference object应该预先创建好,或是应该动态创建。
- ==》如果这些reference object是预先创建好的,而你必须从内存中被它们读取出来,那么就得确保它们在被需要的时候能够被及时加载。
- 修改factory method,令它返回reference object。
- ==》如果对象是预先创建好的,你就需要考虑:万一有人索求一个其实并不存在的对象,要如何处理错误?
- ==》你可能希望对factory method使用Rename Method(273),使其传达这样的信息;它返回的是一个既存对象。
- 编译,测试。
|