面向对象的思考过程(原书第5版)

面向对象的思考过程(原书第5版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Matt Weisfeld) , , ,
2021-06
版次: 1
ISBN: 9787111684527
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 208页
8人买过
  •   面向对象编程(OOP)是现代编程语言(包括C++、Java、C#、Visual Basic.NET、Ruby、Objective-C和Swift)的基础。对象也构成了许多Web技术(如JavaScript、Python和PHP)的基础。
      在开始使用面向对象的开发环境之前,了解面向对象的基本概念至关重要。OOP促进了良好的设计实践、代码可移植性和重用性,但是需要转变思维才能完全理解OOP。刚接触OOP的程序员应该抵制直接跳入特定编程语言或建模语言的诱惑,首先花时间学习本书作者提出的“面向对象的思考过程”。
      尽管编程技术多年来一直在变化和发展,但是无论平台如何演进,面向对象仍然是一个不变的概念。本书侧重于在过去20年中幸存下来并保持其核心的OOP技术,其中包括新的和扩展的设计模式、避免依赖关系以及SOLID原则,以帮助开发人员使软件设计易于理解、灵活和可维护。
      通过阅读本书,你将学到:
      面向解决方案的方法
      继承和组合的正确用法
      聚合和联合之间以及接口和实现之间的重要区别
      第5版新增内容
      相比前几版而言,作者对内容做了大量修改,删除了一些与面向对象不太相关的章节,突出了本书的主题,同时引入了设计模式、面向对象设计的SOLID准则等全新章节,补全了面向对象设计思想的方方面面。无论你是否有面向对象编程的经验,本书都适合作为你面向对象思考的旅程的开端。   黄博文,花名延枚,前Thought Works高级咨询师,现阿里巴巴集团持续交付技术专家,目前专注于阿里云云效平台的设计和开发。
      
      冯冠军,花名烟屿,曾任阿里巴巴云效平台高级开发工程师,精通Java、Python、JavaScript等语言,具有大型互联网企业自动发布和部署以及持续集成等经验。目前专注于大数据开发,以及基于大数据的数据服务和产品的设计、开发等。对大数据背景下数据服务的安全保障以及可视化数据ETL非常有兴趣。
      
      张轲,计算机硕士,拥有十多年IT行业工作经验,曾就职于Autodesk、SAP等公司,从事软件工程师、技术顾问、项目经理等多种职位。
      
      马特・魏斯费尔德(Matt Weisfeld),大学教授、软件开发工程师,也是一位作家。他在信息技术领域拥有20年的经验,之后进入大学任教。他先后从事过软件开发工程师、企业家以及兼职教授等工作。Weisfeld拥有计算机科学硕士学位以及工商管理硕士学位。除本书外,Weisfeld还撰写了其他两本关于软件开发的书籍,并在主要的计算机行业杂志和期刊上发表了多篇文章。他居住于美国俄亥俄州的克利夫兰市。 译者序 

    前言 

    致谢 

    关于作者 

    第1章 面向对象的概念简介1 

    11 基本概念1 

    12 对象及遗留系统2 

    13 过程式编程与面向对象编程对比4 

    14 由面向过程开发过渡到面向对象开发7 

    141 过程式编程7 

    142 面向对象编程8 

    15 什么是对象8 

    151 对象数据8 

    152 对象行为9 

    16 什么是类13 

    161 创建对象13 

    162 属性15 

    163 方法15 

    164 消息15 

    17 使用类图作为可视化工具16 

    18 封装和数据隐藏16 

    181 接口17 

    182 实现18 

    183 接口/实现范式的一个真实示例18 

    184 接口/实现范式的模型19 

    19 继承20 

    191 超类和子类21 

    192 抽象21 

    193 is-a关系23 

    110 多态性24 

    111 组合27 

    1111 抽象27 

    1112 has-a关系28 

    112 本章小结28 

    第2章 如何以对象的方式进行思考29 

    21 清楚接口和实现之间的区别30 

    211 接口32 

    212 实现32 

    213 一个接口/实现示例33 

    22 使用抽象思维设计接口37 

    23 尽可能提供最小化的用户接口39 

    231 确定用户39 

    232 对象行为40 

    233 环境约束40 

    234 识别公共接口40 

    235 识别实现41 

    24 本章小结42 

    25 参考文献42 

    第3章 更多面向对象概念43 

    31 构造函数43 

    311 什么是构造函数调用44 

    312 构造函数中包含什么44 

    313 默认构造函数45 

    314 使用多个构造函数46 

    315 设计构造函数49 

    32 错误处理50 

    321 忽略问题50 

    322 检查问题并中止应用程序50 

    323 检查问题并试图恢复51 

    324 抛出异常51 

    33 作用域的重要性54 

    331 局部属性?54 

    332 对象属性55 

    333 类属性57 

    34 操作符重载58 

    35 多重继承59 

    36 对象操作60 

    37 本章小结62 

    38 参考文献62 

    第4章 类的剖析63 

    41 类名63 

    42 注释65 

    43 属性65 

    44 构造函数67 

    45 访问器69 

    46 公共接口方法71 

    47 私有实现方法72 

    48 本章小结72 

    49 参考文献73 

    第5章 类设计指导75 

    51 对现实世界系统建模75 

    52 识别公共接口76 

    521 最小化公共接口77 

    522 隐藏实现78 

    53 设计健壮的构造函数(以及析构函数)78 

    54 在类中设计错误处理79 

    541 记录类并使用注释80 

    542 构建可以合作的对象80 

    55 设计时请考虑重用81 

    56 设计时请考虑可扩展性81 

    561 保持命名具有描述性82 

    562 抽象不可移植的代码82 

    563 提供一种方式来复制和比较对象83 

    564 保持尽可能小的作用域83 

    57 设计时请考虑可维护性84 

    571 在开发过程中使用迭代85 

    572 测试接口85 

    58 使用对象持久化87 

    59 本章小结89 

    510 参考文献89 

    第6章 使用对象进行设计91 

    61 设计指导91 

    611 进行正确的分析95 

    612 编写工作陈述文档95 

    613 收集需求95 

    614 开发系统原型96 

    615 识别类96 

    616 确定每个类的职责96 

    617 确定类之间如何协作96 

    618 创建类模型来描述系统97 

    619 在代码中创建用户接口原型97 

    62 对象包装97 

    621 结构化代码98 

    622 包装结构化代码99 

    623 包装不可移植的代码101 

    624 包装已有类102 

    63 本章小结103 

    64 参考文献103 

    第7章 精通继承和组合105 

    71 重用对象105 

    72 继承107 

    721 泛化和特化109 

    722 设计决策110 

    73 组合112 

    74 为什么封装是面向对象的本质115 

    741 继承如何减弱封装115 

    742 关于多态性的一个具体例子118 

    743 对象职责118 

    744 抽象类、虚方法和协议122 

    75 本章小结123 

    76 参考文献124 

    第8章 框架和重用:使用接口和抽象类进行设计125 

    81 代码:重用还是不重用125 

    82 什么是框架126 

    83 什么是契约128 

    831 抽象类129 

    832 接口131 

    833 综合运用133 

    834 编译器佐证136 

    835 创建契约137 

    836 系统插件139 

    84 一个电子商务示例139 

    841 一个电子商务问题140 

    842 非重用方式141 

    843 电子商务解决方案143 

    844 UML对象模型143 

    85 本章小结147 

    86 参考文献148 

    第9章 创建对象及面向对象设计149 

    91 组合关系150 

    92 分阶段构建151 

    93 组合类型153 

    931 聚合153 

    932 联合154 

    933 同时使用联合和聚合155 

    94 避免依赖156 

    95 基数157 

    951 多个对象联合158 

    952 可选的联合160 

    96 一个综合性示例160 

    97 本章小结161 

    98 参考文献162 

    第10章 设计模式163 

    101 为什么使用设计模式164 

    102 Smalltalk的模型/视图/控制器165 

    103 设计模式类型167 

    1031 创建型模式?167 

    1032 结构型模式171 

    1033 行为型模式174 

    104 反模式175 

    105 本章小结176 

    106 参考文献177 

    第11章 避免依赖和高度耦合的类179 

    111 继承、组合和依赖注入181 

    1111 继承182 

    1112 组合183 

    1113 依赖注入186 

    112 本章小结189 

    113 参考文献189 

    第12章 面向对象设计的SOLID原则191 

    121 面向对象设计的SOLID原则概述192 

    1211 SRP:单一职责原则192 

    1212 OCP:开闭原则196 

    1213 LSP:里氏替换原则198 

    1214 ISP:接口隔离原则201 

    1215 DIP:依赖倒置原则202 

    122 本章小结208 

    123 参考文献208
  • 内容简介:
      面向对象编程(OOP)是现代编程语言(包括C++、Java、C#、Visual Basic.NET、Ruby、Objective-C和Swift)的基础。对象也构成了许多Web技术(如JavaScript、Python和PHP)的基础。
      在开始使用面向对象的开发环境之前,了解面向对象的基本概念至关重要。OOP促进了良好的设计实践、代码可移植性和重用性,但是需要转变思维才能完全理解OOP。刚接触OOP的程序员应该抵制直接跳入特定编程语言或建模语言的诱惑,首先花时间学习本书作者提出的“面向对象的思考过程”。
      尽管编程技术多年来一直在变化和发展,但是无论平台如何演进,面向对象仍然是一个不变的概念。本书侧重于在过去20年中幸存下来并保持其核心的OOP技术,其中包括新的和扩展的设计模式、避免依赖关系以及SOLID原则,以帮助开发人员使软件设计易于理解、灵活和可维护。
      通过阅读本书,你将学到:
      面向解决方案的方法
      继承和组合的正确用法
      聚合和联合之间以及接口和实现之间的重要区别
      第5版新增内容
      相比前几版而言,作者对内容做了大量修改,删除了一些与面向对象不太相关的章节,突出了本书的主题,同时引入了设计模式、面向对象设计的SOLID准则等全新章节,补全了面向对象设计思想的方方面面。无论你是否有面向对象编程的经验,本书都适合作为你面向对象思考的旅程的开端。
  • 作者简介:
      黄博文,花名延枚,前Thought Works高级咨询师,现阿里巴巴集团持续交付技术专家,目前专注于阿里云云效平台的设计和开发。
      
      冯冠军,花名烟屿,曾任阿里巴巴云效平台高级开发工程师,精通Java、Python、JavaScript等语言,具有大型互联网企业自动发布和部署以及持续集成等经验。目前专注于大数据开发,以及基于大数据的数据服务和产品的设计、开发等。对大数据背景下数据服务的安全保障以及可视化数据ETL非常有兴趣。
      
      张轲,计算机硕士,拥有十多年IT行业工作经验,曾就职于Autodesk、SAP等公司,从事软件工程师、技术顾问、项目经理等多种职位。
      
      马特・魏斯费尔德(Matt Weisfeld),大学教授、软件开发工程师,也是一位作家。他在信息技术领域拥有20年的经验,之后进入大学任教。他先后从事过软件开发工程师、企业家以及兼职教授等工作。Weisfeld拥有计算机科学硕士学位以及工商管理硕士学位。除本书外,Weisfeld还撰写了其他两本关于软件开发的书籍,并在主要的计算机行业杂志和期刊上发表了多篇文章。他居住于美国俄亥俄州的克利夫兰市。
  • 目录:
    译者序 

    前言 

    致谢 

    关于作者 

    第1章 面向对象的概念简介1 

    11 基本概念1 

    12 对象及遗留系统2 

    13 过程式编程与面向对象编程对比4 

    14 由面向过程开发过渡到面向对象开发7 

    141 过程式编程7 

    142 面向对象编程8 

    15 什么是对象8 

    151 对象数据8 

    152 对象行为9 

    16 什么是类13 

    161 创建对象13 

    162 属性15 

    163 方法15 

    164 消息15 

    17 使用类图作为可视化工具16 

    18 封装和数据隐藏16 

    181 接口17 

    182 实现18 

    183 接口/实现范式的一个真实示例18 

    184 接口/实现范式的模型19 

    19 继承20 

    191 超类和子类21 

    192 抽象21 

    193 is-a关系23 

    110 多态性24 

    111 组合27 

    1111 抽象27 

    1112 has-a关系28 

    112 本章小结28 

    第2章 如何以对象的方式进行思考29 

    21 清楚接口和实现之间的区别30 

    211 接口32 

    212 实现32 

    213 一个接口/实现示例33 

    22 使用抽象思维设计接口37 

    23 尽可能提供最小化的用户接口39 

    231 确定用户39 

    232 对象行为40 

    233 环境约束40 

    234 识别公共接口40 

    235 识别实现41 

    24 本章小结42 

    25 参考文献42 

    第3章 更多面向对象概念43 

    31 构造函数43 

    311 什么是构造函数调用44 

    312 构造函数中包含什么44 

    313 默认构造函数45 

    314 使用多个构造函数46 

    315 设计构造函数49 

    32 错误处理50 

    321 忽略问题50 

    322 检查问题并中止应用程序50 

    323 检查问题并试图恢复51 

    324 抛出异常51 

    33 作用域的重要性54 

    331 局部属性?54 

    332 对象属性55 

    333 类属性57 

    34 操作符重载58 

    35 多重继承59 

    36 对象操作60 

    37 本章小结62 

    38 参考文献62 

    第4章 类的剖析63 

    41 类名63 

    42 注释65 

    43 属性65 

    44 构造函数67 

    45 访问器69 

    46 公共接口方法71 

    47 私有实现方法72 

    48 本章小结72 

    49 参考文献73 

    第5章 类设计指导75 

    51 对现实世界系统建模75 

    52 识别公共接口76 

    521 最小化公共接口77 

    522 隐藏实现78 

    53 设计健壮的构造函数(以及析构函数)78 

    54 在类中设计错误处理79 

    541 记录类并使用注释80 

    542 构建可以合作的对象80 

    55 设计时请考虑重用81 

    56 设计时请考虑可扩展性81 

    561 保持命名具有描述性82 

    562 抽象不可移植的代码82 

    563 提供一种方式来复制和比较对象83 

    564 保持尽可能小的作用域83 

    57 设计时请考虑可维护性84 

    571 在开发过程中使用迭代85 

    572 测试接口85 

    58 使用对象持久化87 

    59 本章小结89 

    510 参考文献89 

    第6章 使用对象进行设计91 

    61 设计指导91 

    611 进行正确的分析95 

    612 编写工作陈述文档95 

    613 收集需求95 

    614 开发系统原型96 

    615 识别类96 

    616 确定每个类的职责96 

    617 确定类之间如何协作96 

    618 创建类模型来描述系统97 

    619 在代码中创建用户接口原型97 

    62 对象包装97 

    621 结构化代码98 

    622 包装结构化代码99 

    623 包装不可移植的代码101 

    624 包装已有类102 

    63 本章小结103 

    64 参考文献103 

    第7章 精通继承和组合105 

    71 重用对象105 

    72 继承107 

    721 泛化和特化109 

    722 设计决策110 

    73 组合112 

    74 为什么封装是面向对象的本质115 

    741 继承如何减弱封装115 

    742 关于多态性的一个具体例子118 

    743 对象职责118 

    744 抽象类、虚方法和协议122 

    75 本章小结123 

    76 参考文献124 

    第8章 框架和重用:使用接口和抽象类进行设计125 

    81 代码:重用还是不重用125 

    82 什么是框架126 

    83 什么是契约128 

    831 抽象类129 

    832 接口131 

    833 综合运用133 

    834 编译器佐证136 

    835 创建契约137 

    836 系统插件139 

    84 一个电子商务示例139 

    841 一个电子商务问题140 

    842 非重用方式141 

    843 电子商务解决方案143 

    844 UML对象模型143 

    85 本章小结147 

    86 参考文献148 

    第9章 创建对象及面向对象设计149 

    91 组合关系150 

    92 分阶段构建151 

    93 组合类型153 

    931 聚合153 

    932 联合154 

    933 同时使用联合和聚合155 

    94 避免依赖156 

    95 基数157 

    951 多个对象联合158 

    952 可选的联合160 

    96 一个综合性示例160 

    97 本章小结161 

    98 参考文献162 

    第10章 设计模式163 

    101 为什么使用设计模式164 

    102 Smalltalk的模型/视图/控制器165 

    103 设计模式类型167 

    1031 创建型模式?167 

    1032 结构型模式171 

    1033 行为型模式174 

    104 反模式175 

    105 本章小结176 

    106 参考文献177 

    第11章 避免依赖和高度耦合的类179 

    111 继承、组合和依赖注入181 

    1111 继承182 

    1112 组合183 

    1113 依赖注入186 

    112 本章小结189 

    113 参考文献189 

    第12章 面向对象设计的SOLID原则191 

    121 面向对象设计的SOLID原则概述192 

    1211 SRP:单一职责原则192 

    1212 OCP:开闭原则196 

    1213 LSP:里氏替换原则198 

    1214 ISP:接口隔离原则201 

    1215 DIP:依赖倒置原则202 

    122 本章小结208 

    123 参考文献208
查看详情
12
您可能感兴趣 / 更多
面向对象的思考过程(原书第5版)
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
面向对象的思考过程(原书第5版)
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
面向对象的思考过程(原书第5版)
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
面向对象的思考过程(原书第5版)
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
面向对象的思考过程(原书第5版)
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
面向对象的思考过程(原书第5版)
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
面向对象的思考过程(原书第5版)
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
面向对象的思考过程(原书第5版)
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
面向对象的思考过程(原书第5版)
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
面向对象的思考过程(原书第5版)
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
面向对象的思考过程(原书第5版)
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
面向对象的思考过程(原书第5版)
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译