FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
|
|
- Title: Software Design for Flexibility: How to Avoid Programming Yourself into a Corner
- Author(s) Chris Hanson (Author), Gerald Jay Sussman (Author)
- Publisher: The MIT Press (March 9, 2021); eBook (Creative Commons Licensed)
- License(s): CC BY-SA 4.0
- Hardcover: 448 pages
- eBook: HTML
- Language: English
- ISBN-10: 0262045494
- ISBN-13: 978-0262045490
- Share This:
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.
About the Authors- Chris Hanson is on the technical staff at Datera
- Gerald Jay Sussman is Panasonic Professor of Electrical Engineering at MIT.
- Software Designs, Patterns, and Architectures
- Computer Programming
- Software Engineering Principles and Practices
- Introduction to Computer Science
- Scheme Programming
- Software Design for Flexibility: How to Avoid Programming Yourself into a Corner
- The Mirror Site (1) - PDF
- Book Homepage
-
Patterns for Beginning Programmers (David Bernstein)
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code.
-
Architecture Patterns with Python (Harry Percival, et al.)
Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices, it introduces proven architectural design patterns to help Python developers manage application complexity, and get the most value out of their test suites.
-
Clean Architectures in Python: Better Software Design
The clean architecture is the opposite of spaghetti code, where everything is interlaced and there are no single elements that can be easily detached from the rest and replaced without the whole system collapsing.
-
Software Architecture Patterns (Mark Richards)
This book takes a deep dive into many common software architecture patterns. Each pattern includes a full explanation of how it works, explains the pattern's benefits and considerations, and describes the circumstances and conditions it was designed to.
-
Designing Virtual Worlds (Richard A. Bartle)
This book is the most comprehensive treatment of Virtual World design to-date from one of the true pioneers and most sought-after design consultants. It brings a rich, well-developed approach to the design concepts behind virtual worlds.
-
The Architecture of Open Source Applications (Amy Brown, et al)
The authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development?
-
Patterns of Enterprise Application Architecture (Martin Fowler)
This book is written in direct response to the stiff challenges that face enterprise application developers. It is an indispensable handbook of solutions that are applicable to any enterprise application platform.
-
Patterns of Software: Tales from the Software Community
This book gives us an informative inside look at the world of software design and computer programming and the business that surrounds them. It will intrigue anyone curious about Silicon Valley, computer programming, or the world of high technology.
-
Composing Software: Functional and Object Composition
All software design is composition: the act of breaking complex problems down into smaller problems and composing those solutions. Most developers have a limited understanding of compositional techniques. It's time for that to change.
-
Bringing Design to Software (Terry Winograd)
This book aims to illuminate and stimulate the discipline of software design and address the growing demand that the software industry produce software that really works-software that fits people and situations far better than the examples we see today.
-
Domain-Driven Design Reference (Eric Evans)
This reference gives a quick and authoritative summary of the key concepts of Domain Driven Design (DDD). It is not meant as a learning introduction to the subject. Eric Evans' original book and a handful of others explain DDD in depth from different perspectives.
-
Domain-Driven Design Quickly (Abel Avram, et al)
This book is a short, quickly-readable summary and introduction to the fundamentals of Domain Driven Design (DDD), it does not introduce any new concepts; it attempts to concisely summarize the essence of what DDD is, drawing mostly the original book.
-
Principles, Patterns and Practices of Domain-Driven Design
This book presents the philosophy of Domain Driven Design (DDD) in a down-to-earth and practical manner for experienced developers building applications for complex domains. A focus is placed on the principles and practices of decomposing complex problems.
:
|
|