SOLID : The Software Design and Architecture Handbook (Updated 2021)
- Добавил: literator
- Дата: 19-11-2021, 22:39
- Комментариев: 0
![](/uploads/posts/2021-11/thumbs/1637351622_solid_the-software-design-and-architecture.jpg)
Автор: Khalil Stemmler
Издательство: solidbook.io
Год: 2021
Страниц: 653
Язык: английский
Формат: pdf (true)
Размер: 30.2 MB
This book is for any developer that feels like their code gets worse instead of better over time. What you’re reading is a handbook that teaches professional software developers tThis book has two goals. The first is show you the common unknown unknowns of software design and architecture from clean code to micro-services and from object design to Domain-Driven Design. The second part is to present you with the most influential ideas and practical, actionable wisdom from the phronimos — our teachers— on how write testable, flexible, maintainable code.
Depending on your experience, some of these ideas might be new to you, but in reality, very little of these topics and techniques are new. The vast majority of what you’ll read are techniques that have been around for a long time. It is, however, likely you haven’t been exposed to some of them or merely haven’t been shown how to do them thoroughly.
What I’m offering is a synthesis of techniques from a number of developers much wiser than I. If you find something particularly clever or handy, I have to credit the experience of my predecessors.he essential software design and architecture best practices they didn’t teach you in school.
What will you learn?
Clean Code
Everyone raves about writing clean code, but learning how to write code humans love to work with isn't straightforward. In this chapter, you’ll learn how to write brain-friendly code using human-centered design principles. We also cover coding conventions professional developers use in their everyday work like writing useful comments, organizing & naming things, testing, refactoring, error handling, and so much more.
Object-Oriented Programming & Domain Modeling
Ever wondered where to put your business logic? In this chapter, we learn how to use OOP properly to tackle apps of any complexity. We revisit and relearn object-oriented programming; this time, with the sole purpose of using it to create rich domain models that encode and encapsulate complex business rules by structuring it away from frameworks, dependencies, tools & ORMs like Express.js and Sequelize.
Design Principles
Design principles are like guardrails for well-crafted code. They help you identify what makes code great, as well as what causes code to devolve into not-so-greatness... Prevent unmaintainable code by learning how to apply essential software design principles. You’ll be able to identify poor design and apply patterns to refactor towards a better one.
Architectural Principles
Do you find yourself changing features in one part of your app only to break a feature in another?
To accomodate change, prevent expensive refactorings, and keep code modular, testable and flexible, we learn how to use Conway’s Law to identify boundaries, enforce em’, and package them as well-defined components.
How to Build a Real-World App with Domain-Driven Design
Sometimes CRUD and Model-View-Controller just isn’t enough. Domain-Driven Design is an approach to software development that helps you translate complex problem domains into rich, expressive, and evolvable software.
You’ll learn the main ideas behind Domain-Driven Design, how companies scale codebases from monoliths to microservices, and how to design and develop a real-world Forum application was designed using DDD.
And so much more
Скачать SOLID : The Software Design and Architecture Handbook (Updated 2021)
![](/templates/LitmyL/images/LitMyru.png)
[related-news] [/related-news]
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.