第一部分 理论与理由第1章 软件开发的艺术 41.1 理性主义,经验主义以及无绪 41.2 软件的演变过程 61.3 大型软件 81.4 漂亮,真理和优雅 91.5 更好的无绪 12第2章 设计API的动力之源 142.1 分布式开发 142.2 模块化应用程序 162.3 交流互通才是一切 202.4 经验主义编程方式 222.5 开发第一个版本通常比较容易 24第3章 评价API好坏的标准 263.1 方法和字段签名 263.2 文件及其内容 273.3 环境变量和命令行选项 293.4 文本信息也是API 303.5 协议 323.6 行为 353.7 国际化支持和信息国际化 353.8 API的广泛定义 373.9 如何检查API的质量 373.9.1 可理解性 373.9.2 一致性 383.9.3 可见性 393.9.4 简单的任务应该有简单的方案 403.9.5 保护投资 40第4章 不断变化的目标 424.1 第一个版本远非完美 424.2 向后兼容 434.2.1 源代码兼容 434.2.2 二进制兼容 444.2.3 功能兼容——阿米巴变形虫效应 504.3 面向用例的重要性 524.4 API设计评审 554.5 一个API的生命周期 564.6 逐步改善 60第二部分 设计实战第5章 只公开你要公开的内容 675.1 方法优于字段 685.2 工厂方法优于构造函数 705.3 让所有内容都不可更改 715.4 避免滥用setter方法 725.5 尽可能通过友元的方式来公开功能 735.6 赋予对象创建者更多权利 775.7 避免暴露深层次继承 82第6章 面向接口而非实现进行编程 856.1 移除方法或者字段 876.2 移除或者添加一个类或者接口 886.3 向现有的继承体系中添加一个接口或者类 886.4 添加方法或者字段 886.5 Java中接口和类的区别 906.6 弱点背后的优点 916.7 添加方法的另一种方案 926.8 抽象类有没有用呢 946.9 要为增加参数做好准备 956.10 接口VS.类 97第7章 模块化架构 987.1 模块化设计的类型 1007.2 组件定位和交互 1037.3 编写扩展点 1167.4 循环依赖的必要性 1177.5 满城尽是Lookup 1217.6 Lookup的滥用 126第8章 设计API时要区分其目标用户群 1298.1 C和Java语言中如何定义API和SPI 1298.2 API演进不同于SPI演进 1318.3 java.io.Writer这个类从JDK 1.4到JDK 5的演进 1318.4 合理分解API 143第9章 牢记可测试性 1479.1 API设计和测试 1489.2 规范的光环正在褪去 1519.3 好工具让API设计更简单 1539.4 兼容性测试套件 155第10章 与其他API协作 15810.1 谨慎使用第三方API 15810.2 只暴露抽象内容 16210.3 强化API的一致性 16410.4 代理和组合 16810.5 避免API的误用 17610.6 不要滥用JavaBeans那种监听器机制 180第11章 API具体运行时的一些内容 18411.1 不要冒险 18611.2 可靠性与无绪 18911.3 同步和死锁 19111.3.1 描述线程模型 19211.3.2 Java Monitors中的陷阱 19311.3.3 触发死锁的条件 19611.3.4 测试死锁 20111.3.5 对条件竞争进行测试 20411.3.6 分析随机故障 20611.3.7 日志的高级用途 20811.3.8 使用日志记录程序控制流程 21011.4 循环调用的问题 21511.5 内存管理 218第12章 声明式编程 22312.1 让对象不可变 22512.2 不可变的行为 22912.3 文档兼容性 230第三部分 日常生活第13章 极端的意见有害无益 23613.1 API必须是漂亮的 23713.2 API必须是正确的 23713.3 API应该尽量简单 24013.4 API必须是高性能的 24213.5 API必须绝对兼容 24213.6 API必须是对称的 245第14章 API设计中的矛盾之处 24714.1 API设计中的自相矛盾 24814.2 背后隐藏的工作 25114.3 不要害怕发布一个稳定的API 25214.4 降低维护费用 25
2021-10-05 13:26:59 50.44MB 软件 框架 设计 艺术
1
本实验报告包括四个实验内容:1.STL 的熟悉与使用 2.搜索算法的实现 3.计算几何算法的实现 4.动态规划算法的实现 每个实验内包括:1.实验目的和要求 2.实验预习内容 3.实验项目摘要 4.源代码 5.思路分析 6.解体详情(注释)7.实例演示 8.运行截图 只需免费的五个积分!
1
著名人工智能之父高纳德的著作《计算机程序设计艺术第四卷》,前三卷我也已经传上去了。这个是双语版,有4个分册。人家老人家也没写完,我们只有耐心等待了。后面的内容应该是图像和文本识别的内容。
2021-09-29 19:34:13 183.82MB AI 算法
1
计算机程序设计艺术第三卷高清中文版
2021-09-29 19:33:36 185.75MB 计算机艺术
1
“计算机科学既壮观又幽美,我尝试尽自己所能,以十分恰当的方式来解释我所了解的某些片断。很显然,我自己并没有任何超自然能力,但的确很喜欢讲述那些似乎静静地等待着人们去讲出来的故事。写书跟讲故事十分类似。” ——图灵访谈之专访Donald E. Knuth 《计算机程序设计艺术》系列著作被公认为是对经典计算机科学的论述,曾在1999年被《美国科学家》期刊评选为20世纪相当重要的12部学术专著之一。这一宏伟浩大的工程始于1962年,计划出版7卷,目前已经出版了4卷。数十年来,这本书一直是广大学生、研究人员和业内人士学习程序设计理论和实践的无价之宝,书中各处无不体现着作者渊博的学识、严谨的治学态度,以及深刻的洞察力。该套书自出版以来,广受众多科学家的赞许,并对无数读者产生了极其深远的影响。 《计算机程序设计艺术》堪称计算机科学领域的瑰宝。从事研究的人惊艳于其精美优雅的分析,而普通程序员则一直在卓有成效地利用书中提供的各种方案解决日常问题。这些书展现了作者的博观、清晰和幽默,所有的人都钦佩不已。高德纳是算法和程序设计领域的先驱者,对计算机科学发展史也有着深入的研究,书中在介绍众多理论的同时,也给出了相关的历史和发展历程,成为本书的一大特色。
2021-09-29 19:32:47 181.48MB 程序设计
1
背景全白连笔签名分享
2021-09-23 04:44:03 24.11MB 签名 签名设计 艺术签名
1
游戏策划基础书(已绝版)
2021-09-10 10:22:08 58.21MB PDF
1
资源来自http://b-ok.org/,本人对相关版权等问题不了解,可联系删除 The Art of Computer Programming, Volume 1: Fundamental Algorithms (3rd Edition) Donald E. Knuth This magnificent tour de force presents a comprehensive overview of a wide variety of algorithms and the analysis of them. Now in its third edition, The Art of Computer Programming, Volume I: Fundamental Algorithms contains substantial revisions by the author and includes numerous new exercises. Although this book was conceived several decades ago, it is still a timeless classic. One of the book's greatest strengths is the wonderful collection of problems that accompany each chapter. The author has chosen problems carefully and indexed them according to difficulty. Solving a substantial number of these problems will help you gain a solid understanding of the issues surrounding the given topic. Furthermore, the exercises feature a variety of classic problems. Fundamental Algorithms begins with mathematical preliminaries. The first section offers a good grounding in a variety of useful mathematical tools: proof techniques, combinatorics, and elementary number theory. Knuth then details the MIX processor, a virtual machine architecture that serves as the programming target for subsequent discussions. This wonderful section comprehensively covers the principles of simple machine architecture, beginning with a register-level discussion of the instruction set. A later discussion of a simulator for this machine includes an excellent description of the principles underlying the implementation of subroutines and co-routines. Implementing such a simulator is an excellent introduction to computer design. In the second section, Knuth covers data structures--stacks, queues, lists, arrays, and trees--and presents implementations (in MIX assembly) along with techniques for manipulating these structures. Knuth follows many of the algorithms with careful time and space analysis. In the section on tree structures, the discussion includes a series
2021-08-26 13:16:07 66.5MB 英文原版 D.E.Knuth
1
资源来自http://b-ok.org/,本人对相关版权等问题不了解,可联系删除 The Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition) Donald E. Knuth Volume 2 of Donald Knuth's classic series The Art of Computer Programming covers seminumerical algorithms, with topics ranging from random number generators to floating point operations and other optimized arithmetic algorithms. Truly comprehensive and meticulously written, this book (and series) is that rarest of all creatures--a work of authoritative scholarship in classical computer science, but one that can be read and used profitably by virtually all working programmers. The book begins with fundamental questions regarding random numbers and how to use algorithms to generate them. Subsequent chapters demonstrate efficient computation of single-precision and double-precision arithmetic calculations and modular arithmetic. The text then presents prime factorization (which can be used in cryptography, for instance) and algorithms for calculating fractions. This volume ends with algorithms for polynomial arithmetic and manipulation of power-series topics, which will benefit those with some knowledge of calculus. Throughout this beautifully presented edition, Knuth incorporates hundreds of useful exercises for trying out the algorithms. These range from simple problems to larger research project topics. (The book provides answers, where appropriate, at the end of the book.) The result is a text that's suitable for college or graduate-level computer science courses or individual study by programmers. Volume 2 is an indispensable part of any working programmer's library.
2021-08-26 13:03:35 63.62MB D.E.Knuth 英文原版 epub
1
本书作者D. E. Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几十种文字在世界各地出版,英文原版书在国外已经是第11次印刷。    该书1999年底被American Scientist列为20世纪最佳12部学术专著之一(与狄拉克的量子力学、爱因斯坦的相对论、曼德布罗特的分形论、鲍林的化学键、罗素和怀特海德的数学基础、冯诺意曼和摩根斯坦的博弈论、维纳的控制论、伍德沃和霍夫曼的轨道对称性、费曼的量子电动力学等科学史上的经典著作并列)。    本书结合大量数学知识,分析不同应用领域中的各种算法,研究算法的复杂性,即算法的时间、空间效率,探讨各种适用算法等,其理论和实践价值得到了全世界计算机工作者的公认。书中引入的许多术语、得到的许多结论都变成了计算机领域的标准术语和被广泛引用的结果。另外,作者对有关领域的科学发展史也有深入研究,因此本书介绍众多研究成果的同时,也对其历史渊源和发展过程做了很好的介绍,这种特色在全球科学著作中是不多见的。   作者高德纳几十年来对此书倾注的心血难以计量,他力求随着有关领域的最新进展不断更新内容,力求随着原版书的不断重印令其技术的、史实的和出版方面的错误或不当减到极少(他为了能够满意地随时修订自己的著作,发明了计算机排版系统TEX和字形设计系统METAFONT,无偿公诸于世,使全世界的科技文献作者普遍受惠),现在其最新印次已很难找到错误,作者承诺以2.56美元兑奖励来酬谢任何一个错误的头一个发现者。而相关史实的新证据、相关研究的新进展、习题的新解答仍在及时充实到勘误表或新的印次中。
2021-08-24 09:31:50 42.58MB 计算机 编程 程序设计
1