Python Architecture Patterns: Master API design, event-driven structures, and package management in Python

Jaime Buelta

買這商品的人也買了...

商品描述

Key Features

  • Learn how to create scalable and maintainable applications
  • Build a web system for micro messaging using concepts in the book
  • Use profiling to find bottlenecks and improve the speed of the system

Book Description

Developing large-scale systems that continuously grow in scale and complexity requires a thorough understanding of how software projects should be implemented. Software developers, architects, and technical management teams rely on high-level software design patterns such as microservices architecture, event-driven architecture, and the strategic patterns prescribed by domain-driven design (DDD) to make their work easier.

This book covers these proven architecture design patterns with a forward-looking approach to help Python developers manage application complexity―and get the most value out of their test suites.

Starting with the initial stages of design, you will learn about the main blocks and mental flow to use at the start of a project. The book covers various architectural patterns like microservices, web services, and event-driven structures and how to choose the one best suited to your project. Establishing a foundation of required concepts, you will progress into development, debugging, and testing to produce high-quality code that is ready for deployment. You will learn about ongoing operations on how to continue the task after the system is deployed to end users, as the software development lifecycle is never finished.

By the end of this Python book, you will have developed "architectural thinking": a different way of approaching software design, including making changes to ongoing systems.

What you will learn

  • Think like an architect, analyzing software architecture patterns
  • Explore API design, data storage, and data representation methods
  • Investigate the nuances of common architectural structures
  • Utilize and interoperate elements of patterns such as microservices
  • Implement test-driven development to perform quality code testing
  • Recognize chunks of code that can be restructured as packages
  • Maintain backward compatibility and deploy iterative changes

Who this book is for

This book will help software developers and architects understand the structure of large complex systems and adopt architectural patterns that are scalable. Examples in the book are implemented in Python so a fair grasp of basic Python concepts is expected. Proficiency in any programming languages such as Java or JavaScript is sufficient.

商品描述(中文翻譯)

主要特點:

- 學習如何創建可擴展且易於維護的應用程序
- 使用書中的概念構建微型消息系統的網絡系統
- 使用性能分析找到瓶頸並提高系統速度

書籍描述:

開發不斷增長規模和複雜性的大型系統需要對軟件項目的實施有深入的理解。軟件開發人員、架構師和技術管理團隊依賴於高級軟件設計模式,如微服務架構、事件驅動架構和領域驅動設計(DDD)中的戰略模式,以使他們的工作更輕鬆。

本書以前瞻性的方法介紹了這些經過驗證的架構設計模式,以幫助Python開發人員管理應用程序的複雜性,並從測試套件中獲得最大價值。

從設計的初始階段開始,您將學習在項目開始時使用的主要模塊和思維流程。本書涵蓋了各種架構模式,如微服務、Web服務和事件驅動結構,以及如何選擇最適合您項目的模式。通過建立所需概念的基礎,您將進入開發、調試和測試,以生成準備部署的高質量代碼。您將學習有關系統部署到最終用戶後如何繼續任務的持續運營,因為軟件開發生命周期永遠不會結束。

通過閱讀本書,您將培養“架構思維”:一種不同的軟件設計方法,包括對正在進行的系統進行更改。

您將學到什麼:

- 像架構師一樣思考,分析軟件架構模式
- 探索API設計、數據存儲和數據表示方法
- 研究常見架構結構的細微差別
- 利用和互操作模式元素,如微服務
- 實施測試驅動開發以進行代碼質量測試
- 識別可以重組為包的代碼塊
- 保持向後兼容性並部署迭代更改

本書適合對大型複雜系統結構和可擴展架構模式感興趣的軟件開發人員和架構師。本書中的示例是使用Python實現的,因此需要對基本的Python概念有一定的理解。對於任何編程語言(如Java或JavaScript)的熟練程度足夠。

作者簡介

Jaime Buelta is a Software Architect who has been a professional programmer since 2002 and a Python enthusiast since 2010. He has developed software for a variety of fields, focusing, in the last 10 years, on developing web services in Python in the gaming, finance and education industries. He is a strong proponent of automating everything to make computers do most of the heavy lifting, so humans can focus on the important stuff. He published his first book, "Python Automation Cookbook", in 2018 (recently with an extended second edition), followed a year later by "Hands-On Docker for Microservices with Python" describing how to migrate to a microservice architecture. He is currently living in Dublin, Ireland, and is a regular speaker at PyCon Ireland.

作者簡介(中文翻譯)

Jaime Buelta 是一位軟體架構師,自 2002 年以來一直從事專業程式設計工作,並自 2010 年起成為 Python 的愛好者。他開發過各種領域的軟體,尤其在過去的 10 年中,專注於在遊戲、金融和教育行業中使用 Python 開發網路服務。他堅信自動化一切,讓電腦承擔大部分的繁重工作,以便人們能夠專注於重要的事情。他於 2018 年出版了他的第一本書《Python 自動化食譜》(最近有擴展的第二版),一年後又出版了《使用 Python 進行微服務的 Docker 實踐指南》,該書描述了如何遷移到微服務架構。他目前居住在愛爾蘭都柏林,並經常在愛爾蘭 PyCon 上發表演講。

目錄大綱

  1. Introduction to Software Architecture
  2. API Design
  3. Data Modeling
  4. The Data Layer
  5. The Twelve-Factor App Methodology
  6. Web Server Structures
  7. Event-Driven Structures
  8. Advanced Event-Driven Structures
  9. Microservices vs Monolith
  10. Testing and TDD
  11. Package Management
  12. Logging
  13. Metrics
  14. Profiling
  15. Debugging
  16. Ongoing Architecture

目錄大綱(中文翻譯)

軟體架構入門
API 設計
資料建模
資料層
十二要素應用方法論
網頁伺服器結構
事件驅動結構
進階事件驅動結構
微服務 vs 巨石應用
測試與測試驅動開發
套件管理
日誌記錄
指標
性能分析
除錯
持續架構