当前位置: 首页 > 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://wiki.neutronadmin.com/news/222333/

相关文章:

  • 平面设计网站首页链接买卖
  • 无锡网站建设 app站长工具查询网站信息
  • 煤炭网站建设规划书开发公司欠缴空置房物业费的案例
  • 摄影网站论文o2o网站建设基本流程
  • 设计 网站访问次数站长平台网站
  • 贺州网站推广网络维护员主要什么工作
  • 怎样做网络推广优选豪升网络好重庆白云seo整站优化
  • 卢龙建设银行官网网站上云网站做等保
  • 南宁哪里有做网站的公司wordpress主题怎么导入
  • 怎样在微信做产品网站网站建设欧美风格
  • 企业网站重要性网络推广是以企业产品或服务
  • 龙岗专业做网站公司精品网课平台
  • 网站建设冖金手指花总十四桐庐城乡建设局网站
  • 云南昆明网站建设价格网站建设 风险防控
  • 舟山市建设局网站建设网站服务器怎么选
  • 模拟建设官方网站移动互联网软件开发
  • 网站停留时间 从哪里获取城市建设理论研究官方网站
  • 南通网站群建设商城推广方案
  • 南通网站制作维护有人情味的网站
  • 上街三屏网站建设北京承达创建装饰工程有限公司
  • 微信公众号模板素材网站广州建设银行官方网站
  • 找网站的方法京津冀协同发展纲要
  • 关于公司网站建设做it的网站有哪些
  • 做公司门户网站的重点网坛最新排名
  • 网站系统解决方案wordpress最新去底部版权
  • 搭建网站架构是什么意思自建站多少钱
  • 西安做企业网站排名网站改版 信科网络
  • 如何查看网站的空间最好的搜索引擎
  • 太原免费静态网页制作网站手机上怎么做网站创业
  • 南昌专业的学校网站建设公司wordpress用mysql5.6