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

苏州网站建设推荐好先生科技市北区小型网页设计培训

苏州网站建设推荐好先生科技,市北区小型网页设计培训,苏州网站建设一站通,优秀的企业网站文章目录 前言一、从链式调用说起二、数据抽象三、数据、对象的反对称性四、得墨忒尔律五、数据传送对象总结 前言 代码整洁之道读书随笔#xff0c;第六章 一、从链式调用说起 面向对象语言中常用的一种调用形式#xff0c;链式调用#xff0c;是一种较受推崇的编码风格第六章 一、从链式调用说起 面向对象语言中常用的一种调用形式链式调用是一种较受推崇的编码风格如果你调用一个实例的方法修改了实例的状态后续需要调用其他方法进一步改变实例的状态那么不需要每次都用变量接收返回值直接链式调用即可。 例如gorm的更新可以这样实现。 result : m.tx.Model(model.A{}).Where(model.A{ID: id}).Updates(data)其中Where的实现为 // Where return a new relation, filter records with given conditions, accepts map, struct or string as conditions, refer http://jinzhu.github.io/gorm/crud.html#query func (s *DB) Where(query interface{}, args ...interface{}) *DB {return s.clone().search.Where(query, args...).db }二、数据抽象 Java的初级程序员此处特指刚入行时的本人喜欢为类的私有成员变量加getter/setter在很多crud场景其实也感觉不出有什么问题直到你的业务场景不再满足简单的crud例如书中的示例中给出了一个笛卡尔平面上一个point类的实现。刚好我现在的工作就是为智能机器人做路径规划所以对这个感触就比较深。 一个点包含X/Y轴每次改变位置我们不能只更新单个轴而是要同时更新同样查询也不是只想查询到单个轴那么分别为每个变量加getter/setter是没有意义的。 getter/setter的根本目的是为了隐藏实现隐藏实现是为了让用户无需了解实现就可以操作数据本体。 三、数据、对象的反对称性 对象和数据结构之间的二分原理 过程式代码使用数据结构的代码便于在不改动既有数据结构的前提下添加新函数面向对象代码便于在不改动既有函数的前提下添加新类。 反过来 过程式代码难以添加新数据结构因为必须修改所有函数面向对象代码难以添加新函数因为必须修改所有类。 那么我们可以举例对于机器人如果要构造一个类那么就可以考虑如果你的抽象级别在机器人上每个机器人有自己的行为比如a类机器人是聊天机器人b类机器人是扫地机器人那么就做面向对象你不需要每次增加新功能都为所有机器人增加新函数。 但是如果你们机器人都是扫地机器人那么把能力进行抽象就是比较正确的选择走路的能力抽象成接口让机器人组合能力对于走路这个能力就成了过程式代码就算你需要增加新的机器人种类只需要包含这种能力即可。 四、得墨忒尔律 模块不应了解它所操作对象的内部情形。 更准确的类C的方法f只应该调用以下对象的方法。 C由f创建的对象作为参数传递给f的对象由C的实体变量持有的对象。 书中给出了一个反例 final String outputDir ctxt.getOptions().getScratchDir().getAbsolutePath();现在和开头我说的链式调用比较一下链式调用的每次调用返回的都是类C的实例本身那么是没有违背得墨忒尔律的但是这个反例中每次返回的都是不一样的对象那么对于调用者就需要了解Options、ScratchDir的内部构造结构。 特别需要指出这里Options、ScratchDir特指拥有行为的对象如果他们只拥有变量而不拥有行为那么作者认为不需要考虑得墨忒尔律。 结合outputDir的使用 String outFile outputDir / className.replace(., /) .class; FileOutputStream fout new FileOutputStream(outFile); BufferedOutputStream bos new BufferedOutputStream(fout);作者给出了修正结果 BufferedOutputStream bos ctxt.createScratchFileStream(classFileName);把过程隐藏到createScratchFileStream() 中对于调用者就不需要了解过多类的细节。 五、数据传送对象 数据传送对象Data Transfer Objects, DTO是用于与数据库通信或解析套接字传递的消息等场景中的数据结构不适合加入业务逻辑。Active Record1是一种特殊的DTO。 总结 这是代码整洁之道第六章的读书随笔本章已完结。 Active Record(活动记录)是一种领域模型模式特点是一个模型类对应关系型数据库中的一个表而模型类的一个实例对应表中的一行记录。 ↩︎
http://www.zqtcl.cn/news/297468/

相关文章:

  • 网站开发人员是什么网页设计需要学什么书
  • 韩国食品网站设计欣赏深圳最新新闻事件头条
  • 免费的源码网站有哪些ui界面设计总结心得
  • 那个网站可以做视频app制作北京私人做网站
  • 西安市网站制作公司外贸网站建设步骤
  • 学做网站是什么专业广州建站外包公司历史长
  • 网站必备功能桂林网站建
  • 网站导航栏特效网站地图后台可以做吗
  • 站长工具亚洲高清个人网站建设研究意义
  • 网站制作哪家最好数商云怎么样
  • 做棋牌网站违法嘛免费下载百度
  • 兰州营销型网站建设直播app怎么开发
  • 生成拼贴的网站小程序源码之家
  • 想搭建网站学什么长春市建设局网站
  • 深圳做三网合一网站云主机玩游戏
  • 网站打开慢网站制作多少钱?
  • 网站制作多少钱一个月做教育培训应该注册什么公司
  • 网站价格套餐自己网站上做淘宝搜索引擎
  • 个人博客网站的设计与实现百度信息流投放
  • 廊坊网站关键字优化企业网站系统建设
  • 建设一个网站主要受哪些因素的影响php网站后台教程
  • 做购物网站学什么技术go 网站开发
  • 第一个做电子商务的网站工信部网站 备案
  • 一个完整的网站建设花都有沒有网站建设的
  • 哪个网站有适合小学生做的题目建站工具模板
  • 做家教网站赚钱么网站建设算行政工作吗
  • 网站建设seo网络推广专业的营销团队哪里找
  • 能用的网站关于申请开通网站建设的请示
  • 蓬莱网站建设哪家专业怎么样模仿网站
  • 网站建设有什么好处如何查看网站开发源码