代码之家  ›  专栏  ›  技术社区  ›  ThePirateBae

将数据从旧对象移动到新对象设计的最佳实践[已关闭]

  •  -1
  • ThePirateBae  · 技术社区  · 8 年前

    我选择了一个旧项目,它从未很好地使用过对象。

    而不是像这样初始化字段

    private String firstName;
    private String lastName;
    private Date dateOfBirth;
    

    protected Map<String, String> data;
    

    因此,很明显,每次将字符串转换为不同的数据类型都很麻烦。

    所有数据都存储在MySQL内部的blob中,因此回填似乎是唯一的解决方案。与调用存储的所有驱动程序对象一样,创建一个方法,将数据映射到字段,然后还原对象。

    我不确定这里的最佳实践是什么,希望你们能对对象重构有所帮助。

    1 回复  |  直到 8 年前
        1
  •  1
  •   MiguelKVidal    8 年前

    从数据库的角度来看,您需要分析现有的数据并重新创建表。(甚至可能重建数据库?)

    如果你有办法读取旧表上的数据,你可以这样做:

    1. Driver Driver_Old
    2. 创建新的 具有新结构的表
    3. 使用以下命令将旧表中的所有数据插入到新表中: INSERT INTO Driver SELECT * FROM Driver_Old

    从那里,我可以看到两种不同的方法:

    A-从头开始创建一个新项目,并缓慢迁移业务逻辑。

    B-更新项目代码库以匹配新的数据库模式,然后调整所有需要调整的内容。

    需要分析数据库和代码。