2.1.2 选择反射

George 比较了几种设计方案,最后决定使用反射,其他方案及其缺点如下:

  • 每个类强制实现一个 toXML 方法。
    • 该方法返回对象的 XML 序列化版本。
    • 需要修改所有类,无法用于第三方类。
  • 使用第三方序列化库,它使用预处理器、代码生成或者源代码到源代码的转换来实现序列化。
    • 学习曲线陡峭。
    • 不易调试。
  • 使用第三方库,它通过一个 映射文件 实现序列化。
    • 映射文件需要手动修改。

使用反射则没有以上问题,不会侵入现有代码,而且可用于第三方类库。

results matching ""

    No results matching ""