【发布时间】:2018-03-15 03:25:46
【问题描述】:
我选择了一个较旧的项目,它从来没有很好地使用对象。 比如说对象是 Driver。
而不是像这样初始化字段
private String firstName;
private String lastName;
private Date dateOfBirth;
该代码旨在使用字符串映射来存储所有内容...
protected Map<String, String> data;
显然,每次将字符串转换为不同的数据类型都很麻烦。
所有数据都存储在 MySQL 的 Blob 中,因此回填似乎是唯一的解决方案。就像调用所有存储的驱动程序对象并创建一个将数据映射到字段然后恢复对象的方法。
我不确定这里的最佳实践是什么,希望你们能对对象重构有所了解。
谢谢!
【问题讨论】:
-
你的意思是所有的项目?对于数据库,您可以重命名旧表,重新创建它,然后使用
INSERT INTO Driver SELECT FROM Driver_Old“恢复”所有数据。对于应用程序,语言是什么?你会在这个新版本中使用它吗? -
这里唯一的“最佳实践”就是卷起袖子做脏活。
-
是的,整个项目。该应用程序使用 Java 编写,使用 MySQL 作为数据库,使用 struts2、jsps 和 servlet 作为前端。 @MiguelKVidal
-
@ThePirateBae 有时候,造一个新孩子比洗脏孩子更容易。
-
@ThePirateBae 正如我所说,您需要分析数据库并验证这里的可能性。这些 blob 列上使用的结构是什么?你可以在那里写文字。如果你能读懂它,你可以用它来做一个新的插入。
标签: java mysql database oop refactoring