没有合适的资源?快使用搜索试试~ 我知道了~
A Philosophy of Software Design - John Ousterhout.pdf

A Philosophy of Software Design - John Ousterhout.pdf 淘宝购买的pdf,很清晰
资源推荐
资源详情
资源评论






















A Philosophy of Software Design
John Ousterhout
Stanford University

A Philosophy of Software Design
by John Ousterhout
Copyright © 2018 John K. Ousterhout.
All rights reserved. No part of this book may be reproduced, in any form or by any means, without
permission in writing from the author.
Published by Yaknyam Press, Palo Alto, CA.
Cover design by Pete Nguyen and Shirin Oreizy (www.hellonextstep.com).
Printing History:
April 2018: First Edition (v1.0)
November 2018: First Edition (v1.01)
ISBN 978-1-7321022-0-0
Digital book(s) (epub and mobi) produced by Booknook.biz.

Contents
Preface
1 Introduction
1.1 How to use this book
2 The Nature of Complexity
2.1 Complexity defined
2.2 Symptoms of complexity
2.3 Causes of complexity
2.4 Complexity is incremental
2.5 Conclusion
3 Working Code Isn’t Enough
3.1 Tactical programming
3.2 Strategic programming
3.3 How much to invest?
3.4 Startups and investment
3.5 Conclusion
4 Modules Should Be Deep
4.1 Modular design
4.2 What’s in an interface?
4.3 Abstractions
4.4 Deep modules
4.5 Shallow modules
4.6 Classitis
4.7 Examples: Java and Unix I/O

4.8 Conclusion
5 Information Hiding (and Leakage)
5.1 Information hiding
5.2 Information leakage
5.3 Temporal decomposition
5.4 Example: HTTP server
5.5 Example: too many classes
5.6 Example: HTTP parameter handling
5.7 Example: defaults in HTTP responses
5.8 Information hiding within a class
5.9 Taking it too far
5.10 Conclusion
6 General-Purpose Modules are Deeper
6.1 Make classes somewhat general-purpose
6.2 Example: storing text for an editor
6.3 A more general-purpose API
6.4 Generality leads to better information hiding
6.5 Questions to ask yourself
6.6 Conclusion
7 Different Layer, Different Abstraction
7.1 Pass-through methods
7.2 When is interface duplication OK?
7.3 Decorators
7.4 Interface versus implementation
7.5 Pass-through variables
7.6 Conclusion
8 Pull Complexity Downwards
8.1 Example: editor text class
8.2 Example: configuration parameters
剩余206页未读,继续阅读
资源评论

- rmn1902020-12-24资源挺好, 清晰, 有目录,体量小
- yqj20652020-12-20What is the most important idea in Computer Science? A: Problem decomposition
- yyppaag2020-06-28资源很好,五星好评
- hwq19922020-01-15资源很清晰,五星好评
王金雷
- 粉丝: 35
- 资源: 7

上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
