为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用设计模式将对象转换为具有相同属性的另一个对象?

如何使用设计模式将对象转换为具有相同属性的另一个对象?

拉莫斯之舞 2021-10-17 15:45:09
我在 Java 中有两个 POJO:Movie在我的数据库Movie中使用,另一个用于从请求到网络服务的类似结果。package .servicepublic class Movie{ @Serialized("Title") private String title; @Serialized("Year") private String year; @Serialized("Poster") private String poster}package .databasepublic class Movie{  @ColumnInfo(name = "title")  private String title;  @ColumnInfo(name = "year")  private String year;  @ColumnInfo(name = "poster")  private String poster;}我通过创建一个执行转换的类解决了这个问题: public class MovieObjectAdapter {    public static List<service.Movie> castFrom(List<database.Movie>moviesDatabase){        List<service.Movie> moviesModel = new ArrayList<>();        for (database.Movie movie:             moviesDatabase) {            service.Movie movieModel = new service.Movie();            movieModel.setTitle(movie.getTitle());            movieModel.setPoster(movie.getPoster());            movieModel.setYear(movie.getYear());            moviesModel.add(movieModel);        }        return moviesModel;    }}但我对此不太满意。那么您可以推荐我使用哪种设计模式?编辑:哦,对不起,我忘记了一点细节,我的服务有另一个属性名称,我的数据库,这就是我有两个 pojo 的原因。很抱歉省略了这一点。
查看完整描述

3 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

来自服务包的电影和来自数据库包的电影具有相同的属性。您应该考虑为常见对象提供一个包。例如,在服务或数据库中任何需要的地方使用应用程序主包中的电影更容易和清晰。


查看完整回答
反对 回复 2021-10-17
  • 3 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信