Book Name: SOLID: The Software Design and Architecture Handbook
Author: Khalil Stemmler
File size: 32.9 MB
File format: PDF, ePub
Ever felt as if your code gets worse instead of better over time? This guide teaches professional software programmers the vital software design and architecture best practices they didn’t teach you in college.
What will you learn?
Everyone raves about writing clean code, but learning how to write code people love to work with isn’t simple. In this chapter, you will discover how to compose brain-friendly code utilizing human-centred layout principles. We also cover programming conventions specialist developers use in their daily work like writing helpful comments, organizing & identifying items, testing, refactoring, error handling, and so much more.
Object-Oriented Programming & Domain Names
In this phase, we learn how to use OOP properly to handle programs of any complexity. We revisit and relearn object-oriented programming; this moment, with the sole purpose of utilizing it to create rich domain models that encode and encapsulate complex business rules by structuring it away from frameworks, dependencies, tools & ORMs such as Express.js and Sequelize.
Design principles are similar to guardrails for well-crafted code. They allow you to identify what makes code great, and exactly what causes code to devolve into not-so-greatness… Prevent unmaintainable code by learning how to apply fundamental software design principles. You will be able to identify poor layout and apply patterns to refactor towards a better one.
Do you end up changing features in one part of your program simply to break a characteristic in another?
To accommodate change, avoid expensive refactorings, and keep code modular, testable and elastic, we know how to use Conway’s Law to spot boundaries, apply em’, and package them as well-defined components.
How to Build a Real-World software with Domain-Driven Design like Conference scheduling software.
Occasionally CRUD and Model-View-Controller just aren’t enough. Domain-Driven Design is a method of software development that helps you interpret complex problem domains into rich, expressive, and evolvable software.
You’ll learn the principal ideas behind Domain-Driven Design, how companies scale codebases out of monoliths into microservices, and how to design and develop a real-world Forum program was made with DDD.