当前位置: 首页 > news >正文

江苏网站建设费用赣州网站开发公司

江苏网站建设费用,赣州网站开发公司,网站开发费用清单,网站建设时间查询将面向对象的后端与外部系统集成的传统方式是通过数据传输对象 #xff0c;这些对象在外出之前先序列化为JSON#xff0c;然后在返回时反序列化。 这种方法很流行#xff0c;而且是错误的。 序列化部分应该由打印机代替#xff0c;我在前面已经解释过。 这是我对反序列化的… 将面向对象的后端与外部系统集成的传统方式是通过数据传输对象 这些对象在外出之前先序列化为JSON然后在返回时反序列化。 这种方法很流行而且是错误的。 序列化部分应该由打印机代替我在前面已经解释过。 这是我对反序列化的看法应该通过猜测对象来完成。 米歇尔·贡德里Michel Gondry的《科学》La science desrêves2006年 假设有一个后端入口点应该在库中注册一本新书并以JSON格式到达 {title: Object Thinking,isbn: 0735619654,author: David West } 此外还有一个类Library的对象它希望将Book类型的对象赋予其方法register() class Library {public void register(Book book) {// Create a new record in the database} } 还可以说类型Book有一个简单的方法isbn() interface Book {String isbn(); } 现在这里是HTTP入口点我正在使用Takes和Cactoos 该入口点接受POST multipart/form-data请求并将书注册到库中 public class TkUpload implements Take {private final Library library;Overridepublic Response act(Request req) {String body new RqPrint(new RqMtSmart(new RqMtBase(req)).single(book)).printBody();JsonObject json Json.createReader(new InputStreamOf(body)).readObject();Book book new BookDTO();book.setIsbn(json.getString(isbn));library.register(book);} } 这有什么问题 好吧几件事。 首先它不可重用。 如果在其他地方需要类似的东西则必须再次编写此HTTP处理和JSON解析。 其次错误处理和验证也不可重复使用。 如果将其添加到上述方法中则必须将其复制到各处。 当然DTO可以封装它但这不是DTO通常的用途。 第三以上代码具有相当的程序性并且具有大量的时间耦合 。 更好的设计是将此解析隐藏在新类JsonBook class JsonBook implements Book {private final String json;JsonBook(String body) {this.json body;}Overridepublic String isbn() {return Json.createReader(new InputStreamOf(body)).readObject().getString(isbn);} } 然后RESTful入口点将如下所示 public class TkUpload implements Take {private final Library library;Overridepublic Response act(Request req) {library.register(new JsonBook(new RqPrint(new RqMtSmart(new RqMtBase(req)).single(book)).printBody()));} } 那不是更优雅吗 下面是一些例子从我的项目 RqUser从zerocracy /农场和RqUser从yegor256 / jare 。 从上面的示例可以看到有时我们不能使用implements因为Java中的某些原语不是接口而是final类 String是一个“完美”的示例。 这就是为什么我必须这样做 class RqUser implements ScalarString {Overridepublic String value() {// Parsing happens here and returns String} } 但是除此之外这些示例完美地说明了上面建议的“解析对象”的原理。 翻译自: https://www.javacodegeeks.com/2018/03/dont-parse-use-parsing-objects.html
http://www.huolong8.cn/news/200841/

相关文章:

  • 中企动力 网站建设 收费榆社网站建设
  • 网站开发的图标浙江建设信息港网站查询
  • 镇江市网站开发公司做网站的文案
  • php如何做网站wordpress log
  • 建网站需要多少钱石家庄wordpress 获取当前文章标题
  • 这么做3d网站丽水专业网站建设价格
  • 打电话问网站建设推广wordpress百度推送代码加统计
  • 北京朝阳网站制作广州小程序定制开发
  • 品牌网站建设小蝌蚪2aNRGnetwork wordpress
  • 宜家在线设计网站i排版 wordpress
  • 做网站怎么秦皇岛中兵建设集团网站
  • 企模网站2023年文职招聘岗位表
  • 网站头像有啥做会清晰温州高端网站定制
  • 呼和浩特网站建设公司soe标题打开直接显示网站怎么做
  • 企业建设网站的过程wordpress会员列表
  • 360网站做不了网银怎么办免费一卡二卡三
  • iis网站发布默认首页闵行网页设计公司
  • 做销售用的免费发布信息网站广告公司收费价格表
  • 想开民宿自己怎么做介绍的网站东莞住房和建设局网站
  • 怎么做外贸网站优化如何去看网站是不是响应式
  • 不会编程 做网站济南哪个公司做网站好
  • 河北省住房建设厅网站制作网站项目流程
  • 建筑工程公司网站模板下载冠县网站设计
  • 网站建设的注意优良的定制网站建设服务商
  • 国外网站博客网站也可以做引流路由器做php网站
  • 淄博做网站建设界面设计模式
  • 家具网站开发目的销售管理系统业务处理流程
  • 惠州市跨境电子商务网站开发wordpress后台页面加载慢
  • 企业内网 网站建设的解决方案青岛seo网站建设
  • 电商网站界面规范移动互联网创业