面向对象设计实践指南:Ruby语言描述

面向对象设计实践指南:Ruby语言描述
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , ,
2014-01
版次: 01
ISBN: 9787115332455
定价: 55.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 208页
字数: 310千字
正文语种: 简体中文
29人买过
  •   《面向对象设计实践指南:Ruby语言描述》是对“如何编写更易维护、更易管理、更讨人喜爱且功能更为强大的Ruby应用程序”的全面指导。为帮助读者解决Ruby代码难以更改和不易扩展的问题,作者在书中运用了多种功能强大和实用的面向对象设计技术,并借助大量简单实用的Ruby示例对这些技术进行全面解释。
      全书共9章,主要包含的内容有:如何使用面向对象编程技术编写更易于维护和扩展的Ruby代码,单个Ruby类所应包含的内容,避免将应该保持独立的对象交织在一起,在多个对象之间定义灵活的接口,利用鸭子类型减少编程间接成本,合理运用继承,通过组合构建对象,设计出最划算的测试,解决不良设计的Ruby代码所导致的常见问题等。
      《面向对象设计实践指南:Ruby语言描述》适合所有对面向对象设计和Ruby编程语言感兴趣的程序员阅读参考。   Sandi Metz,在处理经历不断变化仍然存活的项目方面,Sandi Metz拥有30年的工作经验。作为杜克大学的一名软件架构师,她每天都坚持编写代码。在杜克大学里,她的团队不断地为许多客户解决大量实际问题。其中,有些客户的应用程序不仅具有规模大和面向对象的特点,而且已演变了15年之久。她全身心投入的工作是用简单实用的方法将有用的软件提取出来。Sandi在Ruby Nation做过演讲,在Gotham Ruby用户大会上也演讲过多次。本书是她做过的关于OO设计的谈话汇集之后的必然成果。

      译者简介
      张雪平,西南石油大学毕业,模式识别与智能系统专业,硕士研究生。拥有多年高校计算机相关课程的教学经验,热衷于计算机应用软件的开发与研究。现从事石油行业相关软件的研发工作。
      彭晓东,西南师范大学毕业,计算机科学与技术专业。10余年来,一直从事高校计算机网络管理、软件开发及教学工作。 第1章 面向对象设计
    1.1 设计赞歌
    1.1.1 设计解决的问题
    1.1.2 为何难以更改
    1.1.3 实用的设计定义
    1.2 设计工具
    1.2.1 设计原则
    1.2.2 设计模式
    1.3 设计行为
    1.3.1 设计失败
    1.3.2 设计时机
    1.3.3 设计评
    1.4 面向对象编程简介
    1.4.1 过程式语言
    1.4.2 面向对象语言
    1.5 小结
    第2章 设计具有单一职责的类
    2.1 决定类的内容
    2.1.1 将方法分组成类
    2.1.2 组织代码以便于更改
    2.2 创建具有单一职责的类
    2.2.1 示例程序:自行车和齿轮
    2.2.2 为何单一职责原则很重要
    2.2.3 确定一个类是否具有单一职责
    2.2.4 确定何时做出设计决策
    2.3 编写拥抱变化的代码
    2.3.1 要依赖行为,不依赖数据
    2.3.2 全面推行单一职责原则
    2.4 最后是真实的轮子需求
    2.5 小结
    第3章 管理依赖关系
    3.1 理解依赖关系
    3.1.1 认识依赖关系
    3.1.2 对象间的耦合
    3.1.3 其他依赖关系
    3.2 编写松耦合的代码
    3.2.1 注入依赖关系
    3.2.2 隔离依赖关系
    3.2.3 移除参数顺序依赖关系
    3.3 管理依赖方向
    3.3.1 反转依赖关系
    3.3.2 选择依赖方向
    3.4 小结
    第4章 创建灵活的接口
    4.1 理解接口
    4.2 定义接口
    4.2.1 公共接口
    4.2.2 私有接口
    4.2.3 职责、依赖关系和接口
    4.3 找出公共接口
    4.3.1 示例程序:自行车旅游公司
    4.3.2 构建意图
    4.3.3 使用时序图
    4.3.4 请询问"要什么",别告知"如何做"
    4.3.5 寻求上下文独立
    4.3.6 信任其他对象
    4.3.7 使用消息来发现对象
    4.3.8 创建基于消息的应用程序
    4.4 编写能展现其(内在)最好面的代码
    4.4.1 创建显式接口
    4.4.2 善用其他类的公共接口
    4.4.3 避免依赖私有接口
    4.4.4 最小化上下文
    4.5 迪米特法则
    4.5.1 定义迪米特法则
    4.5.2 违规的后果
    4.5.3 避免违规
    4.5.4 听从迪米特法则
    4.6 小结
    第5章 使用鸭子类型技术降低成本
    5.1 理解鸭子类型
    5.1.1 鸭子类型概述
    5.1.2 让问题复杂些
    5.1.3 发现鸭子类型
    5.1.4 鸭子类型的后果
    5.2 编写依赖于鸭子类型的代码
    5.2.1 识别出隐藏的鸭子类型
    5.2.2 信任你的鸭子类型
    5.2.3 记录好鸭子类型
    5.2.4 在鸭子类型之间共享代码
    5.2.5 合理选择鸭子类型
    5.3 克服对鸭子类型的恐惧
    5.3.1 使用静态类型颠覆鸭子类型
    5.3.2 静态类型与动态类型
    5.3.3 拥抱动态类型
    5.4 小结
    第6章 通过继承获得行为
    6.1 理解经典的继承
    6.2 弄清使用继承的地方
    6.2.1 从一个具体类开始
    6.2.2 嵌入多种类型
    6.2.3 找出嵌入的类型
    6.2.4 选择继承
    6.2.5 描绘出继承关系
    6.3 误用继承
    6.4 找出抽象
    6.4.1 创建抽象父类
    6.4.2 提升抽象行为
    6.4.3 从具体分离出抽象
    6.4.4 使用模板方法模式
    6.4.5 实现所有模板方法
    6.5 管理父类与子类之间的耦合
    6.5.1 理解耦合
    6.5.2 使用钩子消息解耦子类
    6.6 小结
    第7章 使用模块共享角色行为
    7.1 理解角色
    7.1.1 找出角色
    7.1.2 组织职责
    7.1.3 删除不必要的依赖关系
    7.1.4 编写具体代码
    7.1.5 提取抽象
    7.1.6 查找方法
    7.1.7 继承角色行为
    7.2 编写可继承的代码
    7.2.1 识别出反模式
    7.2.2 坚持抽象
    7.2.3 重视契约
    7.2.4 使用模板方法模式
    7.2.5 预先将类解耦
    7.2.6 创建浅层结构
    7.3 小结
    第8章 组合对象
    8.1 Parts组合成Bicycle
    8.1.1 更新Bicycle类
    8.1.2 创建Parts层次结构
    8.2 组合成Parts对象
    8.2.1 创建Part
    8.2.2 让Parts对象更像一个数组
    8.3 制造Parts
    8.3.1 创建PartsFactory
    8.3.2 借助PartsFactory
    8.4 组合成Bicycle
    8.5 继承和组合的抉择
    8.5.1 接受继承带来的后果
    8.5.2 接受组合带来的后果
    8.5.3 选择关系
    8.6 小结
    第9章 设计最划算的测试
    9.1 意图测试
    9.1.1 了解测试的意图
    9.1.2 了解测试的内容
    9.1.3 了解测试的时机
    9.1.4 了解测试的方法
    9.2 测试输入消息
    9.2.1 删除未使用的接口
    9.2.2 证明公共接口
    9.2.3 隔离测试对象
    9.2.4 注入使用类的依赖关系
    9.2.5 将依赖关系注入成角色
    9.3 测试私有方法
    9.3.1 在测试过程中忽略私有方法
    9.3.2 从测试类里移除私有方法
    9.3.3 选择测试私有方法
    9.4 测试输出消息
    9.4.1 忽略查询消息
    9.4.2 证明命令消息
    9.5 测试鸭子类型
    9.5.1 测试角色
    9.5.2 用角色测试验证测试替身
    9.6 测试继承代码
    9.6.1 指定继承接口
    9.6.2 指定子类责任
    9.6.3 测试独特行为
    9.7 小结
    后记
  • 内容简介:
      《面向对象设计实践指南:Ruby语言描述》是对“如何编写更易维护、更易管理、更讨人喜爱且功能更为强大的Ruby应用程序”的全面指导。为帮助读者解决Ruby代码难以更改和不易扩展的问题,作者在书中运用了多种功能强大和实用的面向对象设计技术,并借助大量简单实用的Ruby示例对这些技术进行全面解释。
      全书共9章,主要包含的内容有:如何使用面向对象编程技术编写更易于维护和扩展的Ruby代码,单个Ruby类所应包含的内容,避免将应该保持独立的对象交织在一起,在多个对象之间定义灵活的接口,利用鸭子类型减少编程间接成本,合理运用继承,通过组合构建对象,设计出最划算的测试,解决不良设计的Ruby代码所导致的常见问题等。
      《面向对象设计实践指南:Ruby语言描述》适合所有对面向对象设计和Ruby编程语言感兴趣的程序员阅读参考。
  • 作者简介:
      Sandi Metz,在处理经历不断变化仍然存活的项目方面,Sandi Metz拥有30年的工作经验。作为杜克大学的一名软件架构师,她每天都坚持编写代码。在杜克大学里,她的团队不断地为许多客户解决大量实际问题。其中,有些客户的应用程序不仅具有规模大和面向对象的特点,而且已演变了15年之久。她全身心投入的工作是用简单实用的方法将有用的软件提取出来。Sandi在Ruby Nation做过演讲,在Gotham Ruby用户大会上也演讲过多次。本书是她做过的关于OO设计的谈话汇集之后的必然成果。

      译者简介
      张雪平,西南石油大学毕业,模式识别与智能系统专业,硕士研究生。拥有多年高校计算机相关课程的教学经验,热衷于计算机应用软件的开发与研究。现从事石油行业相关软件的研发工作。
      彭晓东,西南师范大学毕业,计算机科学与技术专业。10余年来,一直从事高校计算机网络管理、软件开发及教学工作。
  • 目录:
    第1章 面向对象设计
    1.1 设计赞歌
    1.1.1 设计解决的问题
    1.1.2 为何难以更改
    1.1.3 实用的设计定义
    1.2 设计工具
    1.2.1 设计原则
    1.2.2 设计模式
    1.3 设计行为
    1.3.1 设计失败
    1.3.2 设计时机
    1.3.3 设计评
    1.4 面向对象编程简介
    1.4.1 过程式语言
    1.4.2 面向对象语言
    1.5 小结
    第2章 设计具有单一职责的类
    2.1 决定类的内容
    2.1.1 将方法分组成类
    2.1.2 组织代码以便于更改
    2.2 创建具有单一职责的类
    2.2.1 示例程序:自行车和齿轮
    2.2.2 为何单一职责原则很重要
    2.2.3 确定一个类是否具有单一职责
    2.2.4 确定何时做出设计决策
    2.3 编写拥抱变化的代码
    2.3.1 要依赖行为,不依赖数据
    2.3.2 全面推行单一职责原则
    2.4 最后是真实的轮子需求
    2.5 小结
    第3章 管理依赖关系
    3.1 理解依赖关系
    3.1.1 认识依赖关系
    3.1.2 对象间的耦合
    3.1.3 其他依赖关系
    3.2 编写松耦合的代码
    3.2.1 注入依赖关系
    3.2.2 隔离依赖关系
    3.2.3 移除参数顺序依赖关系
    3.3 管理依赖方向
    3.3.1 反转依赖关系
    3.3.2 选择依赖方向
    3.4 小结
    第4章 创建灵活的接口
    4.1 理解接口
    4.2 定义接口
    4.2.1 公共接口
    4.2.2 私有接口
    4.2.3 职责、依赖关系和接口
    4.3 找出公共接口
    4.3.1 示例程序:自行车旅游公司
    4.3.2 构建意图
    4.3.3 使用时序图
    4.3.4 请询问"要什么",别告知"如何做"
    4.3.5 寻求上下文独立
    4.3.6 信任其他对象
    4.3.7 使用消息来发现对象
    4.3.8 创建基于消息的应用程序
    4.4 编写能展现其(内在)最好面的代码
    4.4.1 创建显式接口
    4.4.2 善用其他类的公共接口
    4.4.3 避免依赖私有接口
    4.4.4 最小化上下文
    4.5 迪米特法则
    4.5.1 定义迪米特法则
    4.5.2 违规的后果
    4.5.3 避免违规
    4.5.4 听从迪米特法则
    4.6 小结
    第5章 使用鸭子类型技术降低成本
    5.1 理解鸭子类型
    5.1.1 鸭子类型概述
    5.1.2 让问题复杂些
    5.1.3 发现鸭子类型
    5.1.4 鸭子类型的后果
    5.2 编写依赖于鸭子类型的代码
    5.2.1 识别出隐藏的鸭子类型
    5.2.2 信任你的鸭子类型
    5.2.3 记录好鸭子类型
    5.2.4 在鸭子类型之间共享代码
    5.2.5 合理选择鸭子类型
    5.3 克服对鸭子类型的恐惧
    5.3.1 使用静态类型颠覆鸭子类型
    5.3.2 静态类型与动态类型
    5.3.3 拥抱动态类型
    5.4 小结
    第6章 通过继承获得行为
    6.1 理解经典的继承
    6.2 弄清使用继承的地方
    6.2.1 从一个具体类开始
    6.2.2 嵌入多种类型
    6.2.3 找出嵌入的类型
    6.2.4 选择继承
    6.2.5 描绘出继承关系
    6.3 误用继承
    6.4 找出抽象
    6.4.1 创建抽象父类
    6.4.2 提升抽象行为
    6.4.3 从具体分离出抽象
    6.4.4 使用模板方法模式
    6.4.5 实现所有模板方法
    6.5 管理父类与子类之间的耦合
    6.5.1 理解耦合
    6.5.2 使用钩子消息解耦子类
    6.6 小结
    第7章 使用模块共享角色行为
    7.1 理解角色
    7.1.1 找出角色
    7.1.2 组织职责
    7.1.3 删除不必要的依赖关系
    7.1.4 编写具体代码
    7.1.5 提取抽象
    7.1.6 查找方法
    7.1.7 继承角色行为
    7.2 编写可继承的代码
    7.2.1 识别出反模式
    7.2.2 坚持抽象
    7.2.3 重视契约
    7.2.4 使用模板方法模式
    7.2.5 预先将类解耦
    7.2.6 创建浅层结构
    7.3 小结
    第8章 组合对象
    8.1 Parts组合成Bicycle
    8.1.1 更新Bicycle类
    8.1.2 创建Parts层次结构
    8.2 组合成Parts对象
    8.2.1 创建Part
    8.2.2 让Parts对象更像一个数组
    8.3 制造Parts
    8.3.1 创建PartsFactory
    8.3.2 借助PartsFactory
    8.4 组合成Bicycle
    8.5 继承和组合的抉择
    8.5.1 接受继承带来的后果
    8.5.2 接受组合带来的后果
    8.5.3 选择关系
    8.6 小结
    第9章 设计最划算的测试
    9.1 意图测试
    9.1.1 了解测试的意图
    9.1.2 了解测试的内容
    9.1.3 了解测试的时机
    9.1.4 了解测试的方法
    9.2 测试输入消息
    9.2.1 删除未使用的接口
    9.2.2 证明公共接口
    9.2.3 隔离测试对象
    9.2.4 注入使用类的依赖关系
    9.2.5 将依赖关系注入成角色
    9.3 测试私有方法
    9.3.1 在测试过程中忽略私有方法
    9.3.2 从测试类里移除私有方法
    9.3.3 选择测试私有方法
    9.4 测试输出消息
    9.4.1 忽略查询消息
    9.4.2 证明命令消息
    9.5 测试鸭子类型
    9.5.1 测试角色
    9.5.2 用角色测试验证测试替身
    9.6 测试继承代码
    9.6.1 指定继承接口
    9.6.2 指定子类责任
    9.6.3 测试独特行为
    9.7 小结
    后记
查看详情
12
您可能感兴趣 / 更多
面向对象设计实践指南:Ruby语言描述
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
面向对象设计实践指南:Ruby语言描述
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
面向对象设计实践指南:Ruby语言描述
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
面向对象设计实践指南:Ruby语言描述
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
面向对象设计实践指南:Ruby语言描述
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
面向对象设计实践指南:Ruby语言描述
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
面向对象设计实践指南:Ruby语言描述
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
面向对象设计实践指南:Ruby语言描述
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
面向对象设计实践指南:Ruby语言描述
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
面向对象设计实践指南:Ruby语言描述
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
面向对象设计实践指南:Ruby语言描述
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
面向对象设计实践指南:Ruby语言描述
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译