出版社: 东南大学出版社
原作名: Head First Object-Oriented Analysis and Design
译者: O'Reilly Taiwan公司
出版年: 2009-1
页数: 589
定价: 98.00元
丛书: O'Reilly Head First系列(中译本)
ISBN: 9787564114213
内容简介 · · · · · ·
《深入浅出面向对象分析与设计(中文版)》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。你是否早已对市面上那些只有在成为专家以后读起来才有感觉的OOA&D书籍感到厌倦?你可能早就听说过OOA&D书籍能帮助你写出伟大的软件——让老板高兴、客户满意的软件。但如何办到呢?
作者简介 · · · · · ·
Brett McLaughlin
Brett McLaughlin is a bestselling and award-winning non-fiction author. His books on computer programming, home theater, and analysis and design have sold in excess of 100,000 copies. He has been writing, editing, and producing technical books for nearly a decade, and is as comfortable in front of a word processor as he is behind a guitar, chasing his two sons ...
Brett McLaughlin
Brett McLaughlin is a bestselling and award-winning non-fiction author. His books on computer programming, home theater, and analysis and design have sold in excess of 100,000 copies. He has been writing, editing, and producing technical books for nearly a decade, and is as comfortable in front of a word processor as he is behind a guitar, chasing his two sons and his daughter around the house, or laughing at reruns of Arrested Development with his wife.
Brett spends most of his time these days on cognitive theory, codifying and expanding on the learning principles that shaped the Head First series into a bestselling phenomenon. He's curious about how humans best learn, why Star Wars was so formulaic and still so successful, and is adamant that a good video game is the most effective learning paradigm we have.
Gary Pollice
Gary Pollice is a self-labeled curmudgeon (that's a crusty, ill- tempered, usually old man) who spent over 35 years in industry trying to figure out what he wanted to be when he grew up. Even though he hasn't grown up yet, he did make the move in 2003 to the hallowed halls of academia where he has been corrupting the minds of the next generation of software developers with radical ideas like, "develop software for your customer, learn how to work as part of a team, design and code quality and elegance and correctness counts, and it's okay to be a nerd as long as you are a great one." Gary is also a co-author of Head First Object-Oriented Analysis and Design.Gary is a Professor of Practice (meaning he had a real job before becoming a professor) at Worcester Polytechnic Institute. He went to WPI because he was so impressed with the WPI graduates that he's worked with over the years. He lives in central Massachusetts with his wife, Vikki, and their two dogs, Aloysius and Ignatius. When not working on geeky things he ... well he's always working on geeky things. You can see what he's up to by visiting his WPI home page at http://web.cs.wpi.edu/~gpollice/. Feel free to drop him a note and complain or cheer about the book.
David West
David West would like to describe himself as sheik geek. Unfortunately no one else would describe him in that way. They would say he is a professional Englishman who likes to talk about software development best practices with the passion and energy of an evangelical preacher. Recently Dave has moved to Ivar Jacobson Consulting, where he runs the Americas and can combine his desire to talk about software development and spread the word on rugby and football, and argue that cricket is more exciting that baseball.Before running the Americas for Ivar Jacobson Consulting, Dave worked for a number of years at Rational Software (now a part of IBM). Dave held many positions at Rational and then IBM, including Product Manager for RUP where he introduced the idea of process plug-ins and agility to RUP. Dave still laments the days when he use to sit in a cube and write software in the city of London. This is where he believes he cut his teeth writing big insurance systems with nothing but a green screen and a process flow chart.
Dave can be contacted at dwest@ivarjacobson.com, and if he is not with customers or drinking warm beer with his friends in Boston, he will email you back.
目录 · · · · · ·
谁适合读这本书?
我们知道你在想什么
元认知
让你的脑袋顺从你的方法
读我
技术审阅团队
致谢
1 伟大软件由此开始:良好应用程序的基石
永远的摇滚乐!
Rick的金光闪闪的新应用程序
什么是你要改变的第一件事?
伟大软件……
伟大软件的简易三步骤
先聚焦在功能性上
测试驱动
寻找问题
分析
运用基础的OO原则
设计一次,设计两次
改变你的应用程序有多简单?
封装变化之物
委托
最后的伟大软件(就现在而言)
OOA&D关系到编写伟大软件
要点
2 给客户所需之物:收集需求
大显身手的机会来了
测试驱动
不正确的使用(有一点)
那么,需求究竟是什么?
创建需求列表
为错误作规划
替代路径(alternate path)处理系统的疑:
(再次)介绍用例
一个用例,三个部分
按照用例检查需求
你的系统必须在真实世界里运作
认识快乐路径(Happy Path)
OOA&D工具箱
3 山可移,此情永不渝……现在,情况有变:需求变更
你是英雄!
牺牲品?
软件分析与设计的不变真理
可选路径?替换路径?谁能分得清?
用例对你而言必须合理
从开始到完成:单一场景
替换路径的真心话
完成需求列表
重复程序代码,逊!
最后的测试驱动
写下你自己的设计原则
OOA&D工具箱
4 将你的软件带进现实世界:分析
一只狗,两只狗,三只狗,四只狗……
你的软件有其情境
识别问题
规划解法方案
两位程序员的故事
委托绕道
低耦合应用程序的威力
注意用例里的名词
从好分析到好类……
类图解析
类图不是一切
要点
5 第一部分:诸行无常——良好的设计
Rick的吉他事业蒸蒸日上
抽象类
类图解析(再一次)
UML小抄
设计问题的警告
通往伟大软件的三步骤(重访)
插曲:OO大灾难
5 第二部分:给你的软件30分钟的伸展操——灵活的软件
回到Rick的搜索工具
仔细瞧瞧search()方法
分析的好处
类实际上关系到行为
设计之死(决策)
将坏的设计决策转变成好的
Rick的软件中的“双封装”
不要害怕犯错及改变
瞧!Rick的具有灵活性的应用程序
测试驱动Rick的设计良好的软件
改变Rick的软件有多容易?
变更容易性的大挑战
具有内聚性的类善于处理好单一事情
设计/内聚力生命周期
伟大的软件通常就是“够好的软件”
OOA&D工具箱
6 “我的名字是Art Vandelay”:解决真正的大问题
解决大问题
关键在于你如何看待大问题
需求与用例是个好起点……
共同性与变化性
整理功能
功能与需求之间的“差别”
用例不总是帮你看出整体轮廓
用例图
小小参与者
参与者也是人(好吧,不全然)
做一点领域分析吧
化整为零,个个击破
别忘了真正的客户是谁
何谓设计模式?
OO&D的威力(以及一些小常识)
OOA&D工具箱
7 为混乱带来次序:架构
感觉有点头昏吗?
我们需要架构
从功能开始
什么是架构的意义?
架构三问
减少风险
场景有助于减少风险
一次把焦点放在一个功能上
架构是你的设计结构
再访共同性
共同性分析:通往灵活软件之路
什么意思?问客户吧。
减少风险有助于伟大软件自
要点
8 原创性被高估:设计原则
设计原则大集合
开关原则(OCP)
OCP,一步一步来
不自我重复原则(DRY)
DRY完全关系到一个地方一个需求
单一职责原则(SRP)
找出多重职责
从多重职责到单一职责
Liskov替换原则(LSP)
子类化的误用:误用继承的案例研究
LSP揭露继承结构所隐藏的问题
子类型必须能替换其基类型
违反LSP造成令人困惑的程序代码
将功能性委托给其他类
使用组合将来自其他多个类的行为集合起来
聚合:组合,但没有突然的结束
组合VS.聚合
继承只是选项之一
要点
OOA&D工具箱
9 软件终究为客户服务:重复与测试
你的工具箱满了
伟大软件的编写是迭代进行的
更深入地迭代:两种基本选择
功能驱动开发
用例驱动开发
两种开发方式
功能分析
编写测试场景
测试驱动开发
再探共同性
强调共同性
强调封装
比对你的测试与设计
测试案例解析……
向客户证明
到目前为止,我们一直在按契约编程
按契约编程关乎信任
防御性编程
将你的应用程序分解成较小的功能块
要点
OOA&D工具箱
10 组合在一起:OOA&D生命周期
开发软件,OOA&D风格
对象村旅游
对象村地铁线路图
功能列表
用例反映使用性,功能反映功能性
现在开始迭代
仔细看看地铁的表示
使用或不使用Line类……那是个问题
对象村地铁的关注要点(Subway类)
保护你的类(还有客户的类)
中场休息
回归需求阶段……
聚焦于程序代码,然后聚焦于客户
迭代(iteration)让问题比较容易
路线看起来像什么?
让自己看看对象村!
第三次迭代,有人要试试吗?
旅程未结束……
附录1:本书遗珠
附录2:欢迎光临对象村
· · · · · · (收起)
原文摘录 · · · · · ·
丛书信息
· · · · · ·
喜欢读"深入浅出面向对象分析与设计(中文版)"的人也喜欢的电子书 · · · · · ·
喜欢读"深入浅出面向对象分析与设计(中文版)"的人也喜欢 · · · · · ·
- Python计算与编程实践 7.0
- 软件开发者路线图 8.4
- 软件项目成功之道 8.5
- Python高手之路 第3版 8.0
- 编程风格 7.9
- 编写可读代码的艺术 8.7
- 写给大家看的面向对象编程书 7.9
- Web数据挖掘 7.7
- 深入理解C指针 8.5
深入浅出面向对象分析与设计(中文版)的书评 · · · · · · ( 全部 4 条 )
五星给原书!半星给出版商!
> 更多书评 4篇
这本书的其他版本 · · · · · · ( 全部3 )
-
O'Reilly Media (2006)8.6分 123人读过
-
东南大学出版社 (2007)8.3分 77人读过
以下书单推荐 · · · · · · ( 全部 )
- 各学科领域入门书籍推荐 (磐丘)
- 外国经典教材2 (月亮)
- 网站与平面设计 (餐巾纸的背面)
- Jolt Awards.计算机图书震撼大奖1991-2014(软件届的奥斯卡奖) (十年一觉人间梦)
- 系统分析与设计 (养鸭专业户)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于深入浅出面向对象分析与设计(中文版)的评论:
feed: rss 2.0
1 有用 琳琳的小狗 2010-03-26 19:24:12
以java为载体的好书还真是多,所以呀,从里面借鉴到自己的主语言来用就是了。言归正传,这是一本不可多得的OO好书,HF系列的文风,很适合初学者阅读,不会被拦路虎打击。
0 有用 功臣 2011-03-13 09:25:19
哈哈。
0 有用 KongZScott 2023-06-20 18:49:37 福建
这本书真正做到了深入浅出。入门必读。
0 有用 史努比 2012-01-11 11:28:27
缺少经验,缺少失败,
0 有用 saltwaterroom 2013-05-01 12:14:42
这本书编写的方式很不错,但是书中的叙述太多,相较之下例子和代码比较少,有点过于理论性。总得来说这还是一本非常好的书,能学到不少东西。
0 有用 KongZScott 2023-06-20 18:49:37 福建
这本书真正做到了深入浅出。入门必读。
0 有用 阿里阿里巴巴 2021-11-03 10:06:54
内容杂乱,过于浅显
0 有用 Criteria 2021-09-18 15:42:38
很有趣的一本技术书籍
0 有用 信奉者 2021-08-30 19:42:04
深入浅出,学到了面向接口,而不是面向实现的编程
0 有用 刀尖红叶 2021-07-17 14:12:20
还行!