LibCoder

Head First Software Architecture: A Learner's Guide to Architectural Thinking

1C Agda Проектирование/System Design
Head First Software Architecture: A Learner's Guide to Architectural Thinking
Дата выхода: 2024
Издательство: O’Reilly Media, Inc.
Количество страниц: 486
Размер файла: 18,2 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Cover....1 Title Page....5 Copyright....6 About the Authors....8 Table of Contents....9 Intro....23 Chapter 1: Software Architecture Demystified....37 Building your understanding of software architecture....38 Building plans and software architecture....39 The dimensions of software architecture....40 Puzzling out the dimensions....41 The first dimension: Architectural characteristics....42 The second dimension: Architectural decisions....44 The third dimension: Logical components....46 The fourth dimension: Architectural styles....48 A design perspective....52 An architectural perspective....53 The spectrum between architecture and design....54 Where along the spectrum does your decision fall?....55 Strategic versus tactical....56 High versus low levels of effort....58 Significant versus less-significant trade-offs....60 Putting it all together....62 You made it!....63 Chapter 2: Architectural Characteristics....63 Causing Lafter....78 What are architectural characteristics? ....80 Defining architectural characteristics....81 Characteristics are nondomain design considerations....82 Characteristics influence architectural structure....83 Limit characteristics to prevent overengineering....84 Consider explicit and implicit capabilities....86 The International Zoo of -ilities....87 Process architectural characteristics....88 Structural architectural characteristics....89 Operational architectural characteristics....90 Cross-cutting architectural characteristics....91 Sourcing architectural characteristics from the problem domain....96 Sourcing architectural characteristics from environmental awareness....97 Sourcing architectural characteristics from holistic domain knowledge....97 Composite architectural characteristics....99 Priorities are contextual....100 Lost in translation....102 Architectural characteristics and logical components....104 Balancing domain considerations and architectural characteristics....105 Limiting architectural characteristics....106 Chapter 3: The Two Laws of Software Architecture....63 It starts with a sneaker app....118 What do we know so far?....120 Communicating with downstream services ....122 Analyzing trade-offs....123 Trade-off analysis: Queue edition....124 Trade-off analysis: Topic edition....125 The first law of software architecture....126 It always comes back to trade-offs....128 Making an architectural decision....129 What else makes a decision architectural?....130 The second law of software architecture....132 Architectural decision records (ADRs)....133 Writing ADRs: Getting the title right....135 Writing ADRs: Whats your status?....136 Writing ADRs: Establishing the context....140 Writing ADRs: Communicating the decision....141 Writing ADRs: Considering the consequences....143 Writing ADRs: Ensuring governance....145 Writing ADRs: Closing notes....145 The benefits of ADRs....148 Two Many Sneakers is a success....149 Chapter 4: Logical Components....149 Logical components revisited....160 Name that component....161 Adventurous Auctions goes online....162 Logical versus physical architecture....163 Creating a logical architecture....165 Step 1: Identifying initial core components....166 Workflow approach....168 Actoraction approach....170 The entity trap....172 Step 2: Assign requirements....174 Step 3: Analyze roles and responsibilities....176 Sticking to cohesion....177 Step 4: Analyze characteristics....178 The Bid Capture component....180 Component coupling....181 Afferent coupling....182 Efferent coupling....183 Measuring coupling....184 A tightly coupled system....186 Applying the Law of Demeter....187 A balancing act....189 Some final words about components....190 Chapter 5: Categorization and Philosophies....149 There are lots of architectural styles....204 The world of architectural styles....205 Partitioning: Technical versus domain....206 Deployment model: Monolithic versus distributed....208 Monolithic deployment models: The pros....210 Monolithic: The cons....211 Distributed deployment models: The pros....212 Distributed deployment models: The cons....213 And thats a wrap!....216 Chapter 6: Layered Architecture....206 Naan & Pop: Gathering requirements....222 Design patterns redux....224 Layering MVC....225 Layering it on....228 Translating layers into code....229 Domains, components, and layers....231 Drivers for layered architecture....234 Layers, meet the real world: Physical architectures....235 Physical architecture trade-offs....236 One final caveat about domain changes....239 Layered architecture superpowers....240 Layered architecture kryptonite....241 Layered architecture star ratings....242 Wrapping it up....244 Chapter 7: Driven by the Domain....238 Modular monolith?....255 Domain pains changes....257 Why modular monoliths?....258 Show me the code! ....260 Keeping modules modular....263 Taking modularity all the way to the database....267 Beware of joins....269 Modular monolith superpowers....270 Modular monolith kryptonite....271 Modular monolith star ratings....272 Naan & Pop is delivering pizza!....274 Chapter 8: Microkernel Architecture....269 The benefits of Going Green....284 The two parts of microkernel architectures....287 The spectrum of microkern-ality....289 Device assessment service core....291 Encapsulated versus distributed plugins....293 Plugin communication....295 Cubicle conversation....297 Plugin contracts....300 Going Green goes green....301 Microkernel superpowers....302 Microkernel kryptonite....303 Microkernel star ratings....304 Wrapping it up....306 Chapter 9: Do It Yourself....300 Making travel easier....314 TripEZs user workflow....315 Planning the architecture....316 The architects roadmap....317 Step 1: Identify architectural characteristics....318 Step 2: Identify logical components....320 Step 3: Choose an architectural style....322 Step 4: Document your decision....324 Step 5: Diagram your architecture....326 There are no right (or wrong) answers....328 Chapter 10: Microservices Architecture....328 Are you feeling okay?....340 Whats a microservice?....343 Its my data, not yours....344 How micro is micro?....346 Granularity disintegrators....348 Why should you make microservices smaller?....349 Granularity integrators....350 Why should you make microservices bigger?....351 Its all about balance....352 Sharing functionality....355 Code reuse with a shared service....356 Code reuse with a shared library....357 Managing workflows....361 Orchestration: Conducting microservices....362 Choreography: Lets dance....364 Microservices architecture superpowers....368 Microservices architecture kryptonite....369 Microservices star ratings....370 Wrapping it up....372 Chapter 11: Event-Driven Architecture....364 Too slow....386 Speeding things up....387 Der Nile flows faster than ever....388 What is an event?....390 Events versus messages....392 Initiating and derived events....394 Is anyone listening?....396 Asynchronous communication....397 Fire-and-forget....399 Asynchronous for the win....401 Synchronous for the win....403 Database topologies....405 Monolithic database....406 Domain-partitioned databases....408 Database-per-service....410 EDA versus microservices....414 Hybrids: Event-driven microservices ....418 Event-driven architecture superpowers....420 Event-driven architecture kryptonite....421 Event-driven architecture star ratings....422 Putting it all together....424 Wrapping up....425 Chapter 12: Testing Your Knowledge....425 Welcome to Make the Grade....440 Student testing workflow....441 Planning the architecture....442 The architects roadmap....443 Step 1: Identify architectural characteristics....444 Step 2: Identify logical components....446 Step 3: Choose an architectural style....448 Step 4: Document your decision....450 Step 5: Diagram your architecture....452 There are no right (or wrong) answers!....454 Appendix: Leftovers....454 1 The coding architect....464 2 Expectations for architects....466 3 The soft skills of architecture....468 4 Diagramming techniques....470 5 Knowledge depth versus breadth....472 6 Practicing architecture with katas....474 Index....477

Описание

Коротко и по делу о том, что важно знать про software.

From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of software architecture. What will you learn from this book?If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. You'll learn the distinction between architecture and design and the relationship between code, components, and architectural styles. Quick, easy, and entertaining, this book is a valuable introduction to the world of software architecture. You'll also learn how to work with some common architectural styles through vivid, fun examples.

Why waste your time struggling with new concepts? Why does this book look so different?Based on the latest research in cognitive science and learning theory, Head First Software Architecture uses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. This multisensory learning experience is designed for the way your brain really works.

Если материал оказался полезен — сохраните страницу.

software architecture this head first architectural learn book

Частые вопросы

Можно ли скачать «Head First Software Architecture: A Learner's Guide to Architectural Thinking» бесплатно?

Да, «Head First Software Architecture: A Learner's Guide to Architectural Thinking» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 18,2 МБ.

Кто автор и когда вышла книга?

автор — Ford Neal , Gandhi Raju , Richards Mark, издательство O’Reilly Media, Inc., год выпуска 2024, 486 страниц.

О чём книга «Head First Software Architecture: A Learner's Guide to Architectural Thinking»?

What will you learn from this book?If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start.

Похожие материалы