- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在开发一个项目,其中要添加一个新的休息界面。我编写了一个通用转换器,它将响应转换为一些对象。现在我问自己是否应该将这些对象转换为休息接口(interface)对象,并将其转换为一组新的对象,这将是我的模型。大多数时候,数据是相同的但有时我会对数据有不同的表示。例如。其余响应将有一个日期作为时间戳,但我的模型对象将有一个日期对象。
另一件好事是,如果我决定将其余界面更改为例如肥皂我的客户端代码仅依赖于模型对象,因此我只需要处理转换。一个缺点是,如果我必须更改某些内容,我需要在两个地方进行。
我不确定这个主题的最佳实践是什么。我还将其余接口(interface)对象转换为模型对象(发送请求和响应的两种方式)。很高兴听到对此的一些想法,也许有人知道一些可以很好解释这一点的资源。
最佳答案
听说过“过早优化”吗?一般来说,在设计应用程序时我不会太关心性能。确保您创建可读的代码,易于维护,易于将来扩展,并且通常不会过时(例如,从 REST 切换到 SOAP 不应造成不必要的麻烦;这可能是比您想象的更现实的场景)片刻)。您不应该仅仅因为您“认为”它可能具有更好的性能或者因为您认为“好的设计”可能具有较差的性能而选择糟糕的设计。
老实说,您计划每秒进行多少次 REST 调用以及单个 REST 结果中有多少百万个对象?您可以创建最好的设计,如果您稍后发现性能瓶颈(浪费了太多的 CPU 时间、浪费了太多的内存等),那么您就开始优化这些瓶颈。如果幸运的话,一开始就不会有瓶颈。如果您主要关心的是创建地球上有史以来最快的代码段,那么您一开始就不会使用 Java,您可能会使用尽可能最低级别的 C,并在必须挤出最后一个代码的地方使用内联汇编。 CPU 性能下降。
所以我不会在 REST API 之后对我的设计进行建模,我会按照我认为应该的方式对我的设计进行建模,最简单地对应用程序的其余部分进行编码,然后编写一个可以转换的导入器/导出器休息到我的设计,我的设计休息。如果您随后切换到另一种技术,例如 SOAP,我只需重写导入器/导出器,而不是整个应用程序。
不过也有异常(exception):我个人不喜欢任何面向对象语言中的日期对象。恕我直言,时间戳是一个完美的日期表示,它非常容易使用(比较、添加/减去偏移量等),并且它的内存开销非常低(只是数字,通常是基元,甚至不需要内存分配)必要的)。因此,除非您需要日期对象,否则您无法根据需要存储或显示该值,否则我会保留时间戳作为时间戳,如果您将来切换到 SOAP 并且它提供日期而不是时间戳,我宁愿将它们转换为时间戳在进口商中并返回到导出商中的日期。但这只是我。
关于java - Model对象的抽象合理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221998/
我有一个曾经是 TreeView 控件的菜单,但现在我想让每个项目更加直观,并向树中的每个对象添加更多信息。 我的第一个意图是制作一个代表项目的用户控件,并在运行时将它们添加到面板中。这是一个好方法吗
我是 Docker 新手,想知道是否有可能(并且是一个好主意)在 Docker 容器中进行开发。我的意思是创建一个容器,执行 bash,安装和配置我需要的一切,然后开始在容器内进行开发。 容器将成为我
在 Java 中: Parent obj = new Child(); 我创建了一个 Parent 类型的对象。我假设我只能调用父类中定义的方法。因此,我无法调用 Child 中定义的“附加”方法或访
注意:我省略了其他两个阶段(V 和 W)的代码,示例中不需要。 我很确定,我这样处理“开”和“关”时间的方式并不是一种有效的方式。 我想使用查找表实现“开”和“关”脉动。计时器应与表的当前选定值进行比
当代码中包含 Java instanceof 运算符时,许多人会扬起眉毛并说这是禁忌。例如,在这个 other SO Q&A ,答案说: Note that if you have to use th
我是一名优秀的程序员,十分优秀!