Software Design for Flexibility: How to Avoid Programming Yourself into a Corner
By: and
Sign Up Now!
Already a Member? Log In
You must be logged into Bookshare to access this title.
Learn about membership options,
or view our freely available titles.
- Synopsis
- Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications.Time pressures encourage programmers to write code that works well for a narrow purpose, with no room to grow. But the best systems are evolvable; they can be adapted for new situations by adding code, rather than changing the existing code. The authors describe techniques they have found effective--over their combined 100-plus years of programming experience--that will help programmers avoid programming themselves into corners.The authors explore ways to enhance flexibility by: • Organizing systems using combinators to compose mix-and-match parts, ranging from small functions to whole arithmetics, with standardized interfaces • Augmenting data with independent annotation layers, such as units of measurement or provenance • Combining independent pieces of partial information using unification or propagation • Separating control structure from problem domain with domain models, rule systems and pattern matching, propagation, and dependency-directed backtracking • Extending the programming language, using dynamically extensible evaluators
- Copyright:
- 2021
Book Details
- Book Quality:
- Publisher Quality
- Book Size:
- 448 Pages
- ISBN-13:
- 9780262362474
- Related ISBNs:
- 9780262045490
- Publisher:
- MIT Press
- Date of Addition:
- 03/09/21
- Copyrighted By:
- Massachusetts Institute of Technology
- Adult content:
- No
- Language:
- English
- Has Image Descriptions:
- No
- Categories:
- Nonfiction, Computers and Internet
- Submitted By:
- Bookshare Staff
- Usage Restrictions:
- This is a copyrighted book.