Head First Object Oriented Analysis and Design is a refreshing look at subject of OOAD. What sets this book apart is its focus on learning. The authors have made the content of OOAD accessible, usable for the practitioner."
Ivar Jacobson, Ivar Jacobson Consulting
"I just finished reading HF OOA&D and I loved it! The thing I liked most about this book was its focus on why we do OOA&D-to write great software!"
Kyle Brown, Distinguished Engineer, IBM
"《深入浅出面向对象分析与设计》对OOA&D这个主题的探讨令人耳目一新。本书与众不同之处在于它将焦点摆在学习上,本书的诸位作者让从业人员对OOA&D的内涵不再感到遥不可及,而且它在实际工作中确实有用。"
——Iva Jacobson Ivar Jacobson Consulting UML之父
"隐匿在诙谐图片与逗趣文字背后的是对OOA&D这个主题认真、睿智且具有匠心的阐述。阅读本书,感觉就像站在专家的肩膀上环顾四方,聆听他一步步、细心倾诉那些重要的议题,并且告诉我为什么。"
——Edward Sciore 波士顿学院计算机科学系副教授
"刚读完这本书,我就深深地爱上它了!我喜欢的一件事就是本书把焦点放在我们实践OOA&D的原因上一写出伟大的软件!"
——Kyle Brown
IBM杰出工程师你是否早已对市面上那些只有在成为专家以后读起来才有感觉的OOA&D书籍感到厌倦?你可能早就听说过OOA&D书籍能帮助你写出伟大的软件一让老板高兴、客户满意的软件。
但如何办到呢?
《深入浅出面向对象分析与设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到:
使用诸如封装(encapsulation)与委派(delegation)的OO原则建立灵活的应用程序。
使用开闭原则(Open—C10 sed Principle)与单一责任原则(Single—Responsibility Principle)提升程序的重利用性。
学习如何将OO原则、设计模式及各种开发方法通通整合到OOA&D项目的生命周期里。
运用UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。
通过一连串的脑力开发,《深入浅出面向对象分析与设计》压缩了学习与获取复杂信息所需的时间。可以预料,这将是一段充满乐趣的学习之旅。相信在读完本书之时,你肯定能够写出伟大的软件。
作者简介:Brett McLaughlin is a guitar player who is still struggling with the realization that you can't pay the bills if you're into acoustic fingerstyle blues and jazz. He's just recently discovered, to his delight, that writing books that help people become better programmers does pay the bills. He's very happy about this, as are his wife Leigh, and his kids, Dean and Robbie. Before Brett wandered into Head First land, he developed enterprise Java applications for Nextel Communications and Allegiance Telecom. When that became fairly mundane, Brett took on application servers, working on the internals of the Lutris Enhydra servlet engine and EJB container. Along the way, Brett got hooked on open source software, and helped found several cool programming tools, like Jakarta Turbine and JDOM. Write to him at brett@oreilly.com.
你是否早已对市面上那些只有在成为专家以后读起来才有感觉的OOA&D 书籍感到厌倦?你可能早就听说过OOA&D书籍能帮助你写出伟大的软件一让老板高兴、客户满意的软件。
但如何办到呢? 《深入浅出面向对象分析与设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到: ·使用诸如封装(encapsulation)与委派 (delegation)的OO原则建立灵活的应用程序。
·使用开闭原则(Open—closed Principle)与单一责任原则(single Responsibility Principie)提升程序的重利用性。
·学习如何将OO原则、设计模式及各种开发方法通通整合到OOA&D项目的生命周期里。
·运用UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。
通过一连串的脑力开发,《深入浅出面向对象分析与设计》压缩了学习与获取复杂信息所需的时间。可以预料,这将是一段充满乐趣的学习之旅。相信在读完本书之时,你肯定能够写出伟大的软件。
你是否早已对市面上那些只有在成为专家以后读起来才有感觉的OOA&D书籍感到厌倦?你可能早就听说过OOA&D书籍能帮助你写出伟大的软件一让老板高兴、客户满意的软件。但如何办到呢?本书将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。
Copyright
Dedication
how to use this book: Intro
Who is this book for?
We know what you're thinking.
And we know what your brain is thinking.
Metacognition: thinking about thinking
Here's what WE did:
Here's what YOU can do to bend your brain into submission
Read Me
The Technical Team
Acknowledgements
Chapter 1. well-designed apps rock: Great Software Begins Here
Rock and roll is forever!
Rick's shiny new application
What's the FIRST thing you'd change?
Great software is... more than just one thing
Great software in 3 easy steps
Focus on functionality first
Test drive
Looking for problems
Analysis
Apply basic OOprinciples
Design once,design teice
How easy is it to change your applications?
Encapsualte what varies
Delegation
Great software at last(for now)
OOA&D is about writing great software
Bullet Poins
Chapter 2. gathering requirements: Give Them What They Want
You've got a new programming gig
Test dvive
Incorrect usage(sort of)
What is a Requirement?
Greating a requirments list
Plan for things going wrong
Alternate paths handle system problems
One use case,three parts
Check your requirements against yuor use cases
Your system must work in the real world
Getting to know the Happy Path
OOA&D Toolbox
Chapter 3. requirements change: I Love You, You're Perfect... Now Change
Chapter 4. analysis: Taking Your Software into the Real World
Chapter 5 (part 1). good design = flexible software: Nothing Ever Stays the Same
Chapter 5 (part 2). good design = flexible software: Give Your Software a 30-minute Workout
Chapter 6. solving really big problems "My Name is Art Vandelay...I am an Architect"
Chapter 7. architecture Bringing Order to Chaos
Chapter 8. design principles: Originality is Overrated
Chapter 9. iterating and testing: The Software is Still for the Customer
Chapter 10. the ooa&d lifecycle: Putting It All Together
Appendix i. leftovers: The Top Ten Topics (we didn't cover)
#1. IS-A and HAS-A
#2. Use case formats
#3. Anti patterns
#4. CRC cards
#5. Metrics
#6. Sequence diagrams
#7. State diagrams
#8. Unit testing
#9. Coding standards and readable code
#10. Refactoring
Appendix ii. welcome to objectville: Speaking the Language of OO