
۴۴٬۰۰۰تومان
نوع فایل دانلود: EPUB
پس از خرید، یک فایل EPUB دریافت میکنید.
این فایل با Calibre، Apple Books و سایر کتابخوانهای دیجیتال مناسب است.
همراه با ادامهدار شدن محبوبیت پایتون، پروژهها هم بزرگتر و پیچیدهتر میشوند. بسیاری از برنامهنویسان پایتون امروز به الگوهای شناختهشدهی طراحی نرمافزار در سطح بالاتر علاقه نشان میدهند؛ الگوهایی مثل معماری ششضلعی/پاک (hexagonal/clean architecture)، معماری مبتنی بر رویداد (event-driven architecture)، و الگوهای راهبردی که در طراحی مبتنی بر دامنه (domain-driven design یا DDD) تجویز میشوند. اما پیادهسازی این الگوها در پایتون همیشه کار سادهای نیست.
در این راهنمای کاربردی و دستبهکاشته، هری پیِرسِوال و باب گریگوری از MADE.com الگوهای ثابتشدهی طراحی معماری را معرفی میکنند تا به برنامهنویسان پایتون کمک شود پیچیدگی برنامههایشان را بهتر مدیریت کنند و از آزمونهایشان بیشترین بهره را ببرند.
هر الگو با مثالهای واقعی و روشن در پایتونِ زیبا و رایج (idiomatic) توضیح داده میشود و از بعضی از پرگوییهای موجود در نحوِ زبانهای جاوا و سیشارپ پرهیز میشود. الگوهای مطرحشده عبارتاند از:
وارونگی وابستگی و ارتباط آن با پورتها و آداپتورها (معماری ششضلعی/پاک)
تمایز طراحی مبتنی بر دامنه (DDD) میان موجودیتها (entities)، آبجکتهای ارزش (value objects) و اِگرگیتها (aggregates)
الگوی Repository و Unit of Work برای ذخیرهسازی پایدار (persistent storage)
رویدادها، فرمانها و message bus (اتوبوس پیام)
جداسازی مسئولیتِ دستور و پرسوجو (Command-query responsibility segregation یا CQRS)
معماری مبتنی بر رویداد و میکروسرویسهای واکنشگرا (reactive microservices)
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are now taking an interest in high-level software design patterns such as hexagonal/clean architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.With this hands-on guide, Harry Percival and Bob Gregory from MADE.com introduce proven architectural design patterns to help Python developers manage application complexity—and get the most value out of their test suites.Each pattern is illustrated with concrete examples in beautiful, idiomatic Python, avoiding some of the verbosity of Java and C# syntax. Patterns include:Dependency inversion and its links to ports and adapters (hexagonal/clean architecture)Domain-driven design's distinction between entities, value objects, and aggregatesRepository and Unit of Work patterns for persistent storageEvents, commands, and the message busCommand-query responsibility segregation (CQRS)Event-driven architecture and reactive microservices