Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

The Japanese House: Architecture and Interiors


Alexandra Black - 2000
    The grace and elegance of the Japanese sensibility is reflected in both modern and traditional Japanese homes, from their fluid floor plans to their use of natural materials. In The Japanese House, renowned Japanese photographer Noboru Murata has captured this Eastern spirit with hundreds of vivid color photographs of 15 Japanese homes. As we step behind the lens with Murata, we're witness to the unique Japanese aesthetic, to the simple proportions modeled after the square of the tatami mat; to refined, rustic decor; to earthy materials like wood, paper, straw, ceramics, and textiles. This is a glorious house-tour readers can return to again and again, for ideas, inspiration, or simply admiration.

Building Construction Handbook


Roy Chudley - 1988
    It is full of detailed drawings that clearly illustrate the construction of building elements. The principles and processes of construction are explained with the concepts of design included where appropriate. Extensive coverage of building construction practice and techniques, representing both traditional procedures and modern developments, are also included to provide the most comprehensive and easy to understand guide to building construction. The new edition has been reviewed and updated and includes additional material on energy conservation, sustainable construction, environmental and green building issues. Further details of fire protection to elements of construction are provided.Building Construction Handbook is an essential text for undergraduate and vocational students on a wide range of courses including NVQ and BTEC National, through Higher National Certificate and Diploma to Foundation and three-year Degree level. It is also a useful practice reference for building designers, contractors and others engaged in the construction industry. It is ideal for students on all construction courses. The topics are presented concisely in plain language and with clear drawings. It incorporates recent revisions to Building and Construction Regulations.

Suburban Nation: The Rise of Sprawl and the Decline of the American Dream


Andrés Duany - 2000
    This movement stems not only from the realization that sprawl is ecologically and economically unsustainable but also from a growing awareness of sprawl's many victims: children, utterly dependent on parental transportation if they wish to escape the cul-de-sac; the elderly, warehoused in institutions once they lose their driver's licenses; the middle class, stuck in traffic for two or more hours each day.Founders of the Congress for the New Urbanism, Andres Duany and Elizabeth Plater-Zyberk are at the forefront of this movement, and in Suburban Nation they assess sprawl's costs to society, be they ecological, economic, aesthetic, or social. It is a lively, thorough, critical lament, and an entertaining lesson on the distinctions between postwar suburbia-characterized by housing clusters, strip shopping centers, office parks, and parking lots-and the traditional neighborhoods that were built as a matter of course until mid-century. It is an indictment of the entire development community, including governments, for the fact that America no longer builds towns. Most important, though, it is that rare book that also offers solutions.

Code Complete


Steve McConnell - 1993
    Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking--and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor--or evolve--code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project

Los Logos: A Selected LOGO Collection


Nicholas Bourquin - 2002
    Often deceptively simple, the task of a logo is hardly ever an easy one--via extreme reduction it needs to radically and perfectly distill an image or message into a simple, easily recognizable icon.Assembling the works of designers from around the globe this substantial volume contains an incredible wealth of pictorial representations, providing a broad overview of contemporary logo design of cutting edge designers.

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)


Michael T. Nygard - 2007
    Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?If you're a developer and don't want to be on call for 3AM for the rest of your life, this book will help.In Release It!, Michael T. Nygard shows you how to design and architect your application for the harsh realities it will face. You'll learn how to design your application for maximum uptime, performance, and return on investment.Mike explains that many problems with systems today start with the design.

Underground


David Macaulay - 1976
    We see a network of walls, columns, cables, pipes and tunnels required to satisfy the basic needs of a city's inhabitants.

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java


Tom Hombergs - 2019
    

Site Reliability Engineering: How Google Runs Production Systems


Betsy Beyer - 2016
    So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient--lessons directly applicable to your organization.This book is divided into four sections: Introduction--Learn what site reliability engineering is and why it differs from conventional IT industry practicesPrinciples--Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE)Practices--Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systemsManagement--Explore Google's best practices for training, communication, and meetings that your organization can use

Designing Event-Driven Systems


Ben Stopford - 2018
    Many of these patterns are successful by themselves, but as this practical ebook demonstrates, they provide a more holistic and compelling approach when applied together.Author Ben Stopford explains how service-based architectures and stream processing tools such as Apache Kafka® can help you build business-critical systems.* Learn why streaming beats request-response based architectures in complex, contemporary use cases* Understand why replayable logs such as Kafka provide a backbone for both service communication and shared datasets* Explore how event collaboration and event sourcing patterns increase safety and recoverability with functional, event-driven approaches* Apply patterns including Event Sourcing and CQRS, and how to build multi-team systems with microservices and SOA using patterns such as “inside out databases” and “event streams as a source of truth”* Build service ecosystems that blend event-driven and request-driven interfaces using a replayable log and Kafka's Streams API* Scale beyond individual teams into larger, department- and company-sized architectures, using event streams as a source of truth

The New Urban Crisis: How Our Cities Are Increasing Inequality, Deepening Segregation, and Failing the Middle Class-and What We Can Do About It


Richard Florida - 2017
    And yet all is not well, Richard Florida argues in The New Urban Crisis. Florida, one of the first scholars to anticipate this back-to-the-city movement in his groundbreaking The Rise of the Creative Class, demonstrates how the same forces that power the growth of the world's superstar cities also generate their vexing challenges: gentrification, unaffordability, segregation, and inequality. Meanwhile, many more cities still stagnate, and middle-class neighborhoods everywhere are disappearing. Our winner-take-all cities are just one manifestation of a profound crisis in today's urbanized knowledge economy. A bracingly original work of research and analysis, The New Urban Crisis offers a compelling diagnosis of our economic ills and a bold prescription for more inclusive cities capable of ensuring growth and prosperity for all.

Green from the Ground Up: Sustainable, Healthy, and Energy-Efficient Home Construction


David R. Johnston - 2008
    It starts with clear explanations of the concepts and fundamentals of green, healthy and energy-efficient construction and walks the reader through the entire construction process, injecting expert advice at every decision point. Construction techniques, materials, and products are thoroughly explained, making the often vaguely understood concepts cleanly understandable. The book gives builders and architects the tools to respond to growing requests from homeowners for green and energy-efficient houses, whether new or remodeled. Homeowners can use the book to understand the concepts, process, and options, whether they're doing it themselves or working with a professional.

Leonardo's Notebooks


Leonardo da Vinci
    During his life he created numerous works of art and kept voluminous notebooks that detailed his artistic and intellectual pursuits.The collection of writings and art in this magnificent book are drawn from his notebooks. The book organizes his wide range of interests into subjects such as human figures, light and shade, perspective and visual perception, anatomy, botany and landscape, geography, the physical sciences and astronomy, architecture, sculpture, and inventions. Nearly every piece of writing throughout the book is keyed to the piece of artwork it describes.The writing and art is selected by art historian H. Anna Suh, who provides fascinating commentary and insight into the material, making Leonardo's Notebooks an exquisite single-volume compendium celebrating his enduring genius.

Manufacturing Processes for Design Professionals


Rob Thompson - 2007
    They have to be knowledgeable about a vast repertoire of processes, ranging from what used to be known as traditional "crafts" to the latest technology, to enable their designs to be manufactured effectively and efficiently. Information on the internet about such processes is often unreliable, and search engines do not usefully organize material for designers.This fundamental new resource explores innovative production techniques and materials that are having an impact on the design industry worldwide. Organized into four easily referenced parts—Forming, Cutting, Joining, and Finishing—over seventy manufacturing processes are explained in depth with full technical descriptions; analyses of the typical applications, design opportunities, and considerations each process offers; and information on cost, speed, and environmental impact. The accompanying step-by-step case studies look at a product or component being manufactured at a leading international supplier.A directory of more than fifty materials includes a detailed technical profile, images of typical applications and finishes, and an overview of each material's design characteristics. With some 1,200 color photographs and technical illustrations, specially commissioned for this book, this is the definitive reference for product designers, 3D designers, engineers, and architects who need a convenient, highly accessible, and practical reference.