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

做电子书网站 赚钱怎么制作小程序卖东西

做电子书网站 赚钱,怎么制作小程序卖东西,成都网站开发多少钱,网站空间知识xml不利于调试流畅的界面 #xff08;最初由Martin Fowler 创造#xff09;是一种与OOP中的对象进行通信的非常便捷的方式。 它使他们的外墙更易于使用和理解。 但是#xff0c;它破坏了它们的内部设计#xff0c;使它们更难以维护。 Marco Pivetta在他的博客文章Fluent In… xml不利于调试 流畅的界面 最初由Martin Fowler 创造是一种与OOP中的对象进行通信的非常便捷的方式。 它使他们的外墙更易于使用和理解。 但是它破坏了它们的内部设计使它们更难以维护。 Marco Pivetta在他的博客文章Fluent Interfaces is Evil中说了几句话 现在我加几分钱。 唐尼·布拉斯科1997 让我们看一下我自己的库jcabi-http 它是几年前创建的当时我认为流畅的接口是一件好事。 这是您使用库发出HTTP请求并验证其输出的方式 String html new JdkRequest(https://www.google.com).method(GET).fetch().as(RestResponse.class).assertStatus(200).body(); 这种便捷的方法链接使代码简短明了对吧 是的表面上确实如此。 但是库类的内部设计包括您看到的JdkRequest远远不够优雅。 最大的问题是它们很大而且 难 无法扩展它们而不扩大它们。 例如现在JdkRequest具有方法method() fetch()和其他一些方法。 需要新功能时会发生什么 唯一的添加方法是通过添加新方法来扩大类的范围这是我们危害其可维护性的方式。 例如 在这里 我们添加了multipartBody() 在这里我们添加了timeout 。 在jcabi-http中收到新功能请求时我总是感到害怕。 我知道这很可能意味着向Request Response和其他已经膨胀的接口和类添加新方法。 我实际上试图在库中做一些事情来解决这个问题但这并不容易。 查看此.as(RestResponse.class)方法调用。 它所做的是用RestResponse装饰一个Response 以使其方法更丰富。 我只是不想让Response包含50多种方法就像许多其他库一样。 这是它的作用这是伪代码 class Response {RestResponse as() {return new RestResponse(this);}// Seven methods } class RestResponse implements Response {private final Response origin;// Original seven methods from Response// Additional 14 methods } 如您所见我没有将所有可能的方法添加到Response 而是将它们放置在补充修饰符RestResponse JsonResponse XmlResponse 等中 。 它有帮助但是要使用Response类型的中心对象编写这些装饰器我们必须使用“ ugly”方法as() 该方法as()很大程度上依赖于Reflection和类型转换 。 流利的接口意味着大型类或某些丑陋的解决方法。 换句话说流畅的接口意味着大型类或某些丑陋的解决方法。 当我写有关Streams API和接口Stream的文章时 我曾提到过这个问题。 有43种方法 这是流畅接口的最大问题-它们迫使对象很大。 流利的接口非常适合其用户因为所有方法都在一个地方并且类的数量非常少。 它们很容易使用尤其是在大多数IDE中使用代码自动完成功能时。 它们也使客户端代码更具可读性因为“流利的”结构看起来类似于纯英语aka DSL 。 没错 但是它们对对象设计造成的损害是价格过高。 有什么选择 我建议您改用装饰器和智能对象 。 如果现在可以做的话这就是我设计jcabi-http的方法 String html new BodyOfResponse(new ResponseAssertStatus(new RequestWithMethod(new JdkRequest(https://www.google.com),GET),200) ).toString(); 这与上面的第一个代码段中的代码相同但是它更加面向对象。 当然此代码的明显问题是IDE无法自动完成几乎所有操作。 同样我们将不得不记住许多类的名称。 对于那些习惯了流利界面的人来说该结构看起来很难阅读。 此外它与DSL的想法相距甚远。 流畅的界面对用户有利但对开发人员不利。 小对象对开发人员有好处但难以使用。 但是这里是好处列表。 首先每个对象都很小非常有凝聚力并且它们都是松散耦合的这在OOP中是显而易见的优点。 其次向库中添加新功能就像创建新类一样容易。 无需接触现有课程。 第三由于类很小因此简化了单元测试。 第四所有类都是不可变的这在OOP中也很明显 。 因此有用性和可维护性之间似乎存在冲突。 流利的界面对用户有利但对库开发人员则不利。 小对象对开发人员有好处但难以理解和使用。 似乎是这样但前提是您已习惯大型类和过程编程。 对我来说大量的小班学习似乎是一种优势 而不是缺点。 即使我不知道确切的哪个类最适合我内部清晰简单且易读的库也更容易使用。 即使没有自动完成代码我也可以自己解决因为代码很干净。 另外我经常发现自己对在代码库内部或通过对库的拉取请求扩展现有功能感兴趣。 如果我知道所引入的更改是孤立的并且易于测试那么我对此更感兴趣 。 因此我再也没有流畅的界面只有对象和装饰器。 翻译自: https://www.javacodegeeks.com/2018/03/fluent-interfaces-are-bad-for-maintainability.htmlxml不利于调试
http://www.zqtcl.cn/news/314966/

相关文章:

  • 做购物平台网站 民治百度导航地图下载
  • 东莞市主营网站建设服务机构青岛建站公司电话
  • 做网站技术wordpress漂亮手机网站模板下载
  • 网站怎么更新网页内容网络推广怎么找客户
  • 如何编写网站建设销售的心得适合装饰公司的名字
  • 有什么免费建网站网站pr查询
  • flash+xml网站模板简述网站制作的一般流程
  • 成都私人做网站建设怎么切页面做网站
  • 聊城做网站的公司论坛外链代发
  • 廊坊企业自助建站网站框架设计好后怎么做
  • 手机网站建设效果wordpress 目录改变
  • 做商城网站的项目背景图片c2750服务器做网站行吗
  • 北京市专业网站建设wordpress视频站
  • 知名网站制作公南充建设机械网站
  • 网站建设实践鉴定微商小程序制作
  • 盗用别人网站图做网站快速排名优化推广手机
  • 安徽网站建设服务平台wordpress自定义统计
  • 微网站开发方案模板建站宝盒哪个牌子好
  • 低价做网站网站制作天津
  • 成都网站推广外包门户网站素材
  • wordpress 拿站网站制作北京海淀
  • 惠州网站建设行业wordpress文章阅读权限
  • 做地方网站需要什么部门批准网页版微信二维码
  • o2o网站运维建设方案宿州市网站建设
  • 上海网站排名优化公司马蜂窝是什么做的网站
  • 邢台网站建设网站淘宝小程序入口
  • 公司起名自动生成器网站优化方法
  • 太原网站开发团队wordpress 链接 插件
  • 阿克顿巴网站建设的目的智通人才招聘网
  • 网站快速优化成营销型网站制作