您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 软件框架设计的艺术 (Practical API Design, pdf)
  所属分类: C++
  开发工具:
  文件大小: 3mb
  下载次数: 0
  上传时间: 2011-06-07
  提 供 者: xdc***
 详细说明: Contents Theory and Justification 1 The Art of Building Modern Software 5 Evolution of Software So Far 7 Gigantic Building Blocks 9 Beauty Truth and Elegance 10 More Cluelessness 12 The Motivation to Create an API 15 Modularizing Applications 17 Reliability and Cluelessness 190 Synchronization and Deadlocks 192 Document the Threading Model 193 Pitfalls of Java Monitors 194 Deadlock Conditions 196 Deadlock Test 201 Testing Race Conditions 204 Analyzing Random Failures 206 Nonlinear Versioning 20 Its All About Communication 22 E mpirical Programming 23 The First Version Is Always Easy 25 Determining What Makes a Good API 27 Files and Their Content 28 Environment Variables and CommandLine Options 29 Text Messages As APIs 31 Protocols 32 Behavior 34 I18N Support and L10N Messages 35 Wide Definition of APIs 36 Comprehensibility 37 Consistency 38 Simple Tasks Should Be Easy 39 EverChanging Targets 41 Backward Compatibility 42 Binary Compatibility 43 Functional Compatibilitythe Amoeba Effect 48 The Importance of Being Use Case Oriented 51 API Reviews 54 Life Cycle of an API 55 Incremental Improvements 59 Practical Design 64 Do Not Expose More Than You Want 69 A Method Is Better Than a Field 70 A Factory Is Better Than a Constructor 71 Make Everything Final 73 Do Not Put Setters Where They Do Not Belong 74 Allow Access Only from Friend Code 75 Give the Creator of an Object More Rights 79 Do Not Expose Deep Hierarchies 83 Code Against Interfaces Not Implementations 87 Removing a Method or a Field 88 Removing or Adding a Class or an Interface 89 Adding a Method or a Field 90 Comparing Java Interfaces and Classes 91 In Weakness Lies Strength 92 A Method Addition Lovers Heaven 93 Are Abstract Classes Useful? 95 Getting Ready for Growing Parameters 96 Interfaces vs Classes 98 Use Modular Architecture 99 Types of Modular Design 101 Intercomponent Lookup and Communication 104 Writing an Extension Point 117 The Need for Cyclic Dependencies 118 Lookup Is Everywhere 122 Overuse of Lookup 126 Separate APIs for Clients and Providers 131 API Evolution Is Different from SPI Evolution 133 Writer Evolution Between Java 14 and 15 134 Split Your API Reasonably 145 Keep Testability in Mind 149 API and Testing 150 The Fade of the Specification 152 Good Tools Make Any API Easier 154 Test Compatibility Kit 156 Cooperating with Other APIs 159 Leaking Abstractions 163 Enforcing Consistency of APIs 164 Delegation and Composition 168 Prevent Misuses of the API 176 Do Not Overuse the JavaBeans Listener Pattern 180 Runtime Aspects of APIs 185 Fixing Odyssey 187 Advanced Usage of Logging 208 Execution Flow Control Using Logging 210 Preparing for Reentrant Calls 215 Memory Management 218 Declarative Programming 225 Make Objects Immutable 227 Immutable Behavior 231 Compatibility of Documents 232 Daily Life 236 Extreme Advice Considered Harmful 239 An API Must Be Beautiful 240 An API Has to Be Correct 241 An API Has to Be Simple 242 An API Has to Have Good Performance 244 An API Must Be 100 Percent Compatible 245 An API Needs to Be Symmetrical 248 Paradoxes of API Design 249 API Doublethink 250 The Invisible Job 253 Overcoming the Fear of Committing to a Stable API 254 Minimizing Maintenance Cost 257 Evolving the API Universe 261 Resuscitating Broken Libraries 262 Conscious vs Unconscious Upgrades 268 Alternative Behavior 272 Bridges and the Coexistence of Similar APIs 277 Teamwork 291 Convincing Developers to Document Their API 294 Big Brother Never Sleeps 296 Accepting API Patches 300 Using Games to Improve API Design Skills 303 Day 1 304 Problem of Nonpublic API Classes 307 The Problem of the Missing Implementation 311 The Problem of Possibly Incorrect Results 313 Solutions for Day 1 314 Day 2 317 I Want to Fix My Mistakes Problem 321 Judgment Day 325 Conclusions 326 Play Too 332 Extensible Visitor Pattern Case Study 333 Abstract Class 336 Preparing for Evolution 338 Default Traversal 340 Clean Definition of a Version 342 Nonmonotonic Evolution 344 Data Structure Using Interfaces 345 Client and Provider Visitors 346 Triple Dispatch 349 A Happy End for Visitors 351 EndofLife Procedures 355 The Importance of a Specification Version 356 Should Removed Pieces Lie Around Forever? 359 Splitting Monolithic APIs 360 The Future 363 Principia Informatica 364 Cluelessness Is Here to Stay 365 API Design Methodology 366 Languages Ready for Evolution 368 The Role of Education 370 Share 372 Bibliography 373 Index 375 Copyright ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 输入关键字,在本站1000多万海量源码库中尽情搜索: