Quantcast
Channel: InfoQ - 促进软件开发领域知识与创新的传播
Viewing all articles
Browse latest Browse all 1638

Expedia是如何摆脱Java Bean转换器的

$
0
0

本文关键点

  • 让开发人员用一些上班时间用于创新,可能会他们展现出他们的潜力,在日常工作中创造出有用的解决方案
  • 开源,一个解决共性问题的产品或解决方案可能会帮到其他的人
  • 充满激情是打造优秀软件的关键要素
  • BULL能有效地加速开发阶段,同时减少引入错误的可能性
  • 在实际应用中,BULL不会对性能造成任何负面影响

在分层体系结构中,会通过将变化封装为特定的数据对象并传播到其他层,以创建出抽象级别,这种对象映射过程可能会变得强制且繁琐。
传统上,这种数据对象映射由手动编码转换器来处理,这些转换器在实体(或Java bean)之间复制数据。
从不同的数据对象映射到不同的数据对象,需要大量的时间和成千上万行代码,当然,具体取决于你需要转换的数量。
这需要巨大的工作量,特别是如果还考虑到必要的测试用例的数量的话。这种类型的转换代码编写起来相当枯燥,而且极易出错,所以为什么不自动执行呢?

问题

幸运的是,有很多基于Web的映射框架可以为我们做这件事,所以我们不必担心!
但是,如果您的Java bean遵循常见的安全最佳实践是不可变的,会是什么情况呢?其结果是,没有哪款映射框架能够以一种简单的方式转换你的对象。

解决方案

一个能够自动转换各种Java bean(包括不可变的、可变的和混合的)的类库可以生我们免去大量的工作,BULL就是这样做的。

好处

为了更好地展示这个库的好处,让我们来看一个例子:假设您正在处理一个多层应用程序,其结构如下:


Viewing all articles
Browse latest Browse all 1638

Trending Articles