کتاب معماری نرم‌افزار با کاتلین: ترکیب سبک‌های مختلف معماری برای ایجاد راهکارهای نرم‌افزاری پایدار و مقیاس‌پذیر. ویرایش: اول اثر  Jason Chow

عنوان:

Software Architecture with Kotlin

نویسنده:

Jason Chow

انتشارات:

Packt Publishing

تاریخ انتشار:

2024

حجم:

5.2MB

دانلود

معرفی کتاب:" معماری نرم‌افزار با کاتلین: ترکیب سبک‌های مختلف معماری برای ایجاد راهکارهای نرم‌افزاری پایدار و مقیاس‌پذیر. ویرایش: اول "

ویژگی‌های کلیدی:

  • یادگیری تحلیل و تجزیه سبک‌های مختلف معماری به اجزای سازنده
  • ترکیب ایده‌های موجود با نوآوری‌های شخصی برای خلق راه‌حل‌های اختصاصی
  • تصمیم‌گیری آگاهانه با درک مصالحه‌ها و مدیریت ریسک‌ها

توضیحات کتاب:

کتاب معماری نرم‌افزار با کاتلین به بررسی سبک‌های مختلف معماری نرم‌افزار می‌پردازد، با تمرکز ویژه بر استفاده از زبان برنامه‌نویسی Kotlin. نویسنده با بیش از ۲۰ سال تجربه در توسعه سیستم‌های توزیع‌شده، اصول، الگوها و شیوه‌های مؤثر در طراحی سیستم‌های مدرن را بررسی می‌کند.

این کتاب مفاهیم پایه‌ای مانند ویژگی‌های معماری (qualities) و اصول معماری (principles) را پوشش می‌دهد و نقش تصمیم‌های معماری در کیفیت سیستم را از منظرهایی مانند مقیاس‌پذیری، پایداری و توسعه‌پذیری بررسی می‌کند.

مباحثی از جمله میکروسرویس‌ها، Serverless و Event-Driven همراه با تحلیل مزایا و معایب، به‌همراه ابزارهای تصمیم‌گیری و مدیریت ریسک نیز به‌طور کامل مطرح می‌شود. کلیه الگوها با زبان Kotlin پیاده‌سازی شده‌اند.

مخاطبان این کتاب:

  • توسعه‌دهندگانی با آشنایی اولیه با Kotlin که به دنبال درک عمیق‌تر معماری هستند
  • برنامه‌نویسان اندروید که به توسعه Backend علاقه‌مند شده‌اند
  • توسعه‌دهندگان Java در مسیر مهاجرت به Kotlin
  • معماران نرم‌افزار با تجربه کم در Kotlin
  • تحلیل‌گران علاقه‌مند به کشف رویکردهای معماری نوین

آنچه در این کتاب خواهید آموخت:

  • تسلط بر اصول بنیادی طراحی و معماری نرم‌افزار
  • شناخت و کاربرد سبک‌های معماری رایج
  • تحلیل و طراحی سبک‌های معماری برای حل مسائل واقعی
  • تصمیم‌گیری مؤثر با تحلیل مصالحه‌ها و مدیریت ریسک‌ها
  • ایجاد سیستم‌های قابل نگهداری، مقیاس‌پذیر و پایدار
  • استفاده عملی از Kotlin برای طراحی راه‌حل‌های معماری

فهرست مطالب

  • Cover
  • Title Page
  • Copyright
  • Dedication
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: The Essence of Software Architecture
  • The importance of software architecture
  • The role of a software architect
  • Conway’s law
  • Choosing a software framework
  • Documentation and diagrams
  • Summary
  • Chapter 2: Principles of Software Architecture
  • Technical requirements
  • Perspectives, dimensions, and qualities
  • Separation of concerns, cohesiveness, and coupling
  • SOLID principles
  • The Law of Demeter
  • YAGNI and future-proof architecture
  • Summary
  • Chapter 3: Polymorphism and Alternatives
  • Technical requirements
  • Why Kotlin?
  • Real-life example – revisited
  • Polymorphic solution
  • Sealed class solution
  • Delegation solution
  • Functional solution
  • Comparing all the solutions
  • Summary
  • Chapter 4: Peer-to-Peer and Client-Server Architectures
  • Technical requirements
  • A real-life example of a networked system
  • Client-server architecture
  • P2P architecture
  • Comparison between client-server and P2P architectures
  • Summary
  • Chapter 5: Exploring MVC, MVP, and MVVM
  • Technical requirements
  • MVC
  • A real-life example of MVC
  • MVP
  • MVVM
  • Comparing MVC, MVP, and MVVM
  • Beyond MVC, MVP, and MVVM
  • Summary
  • Chapter 6: Microservices, Serverless, and Microfrontends
  • Technical requirements
  • Monoliths
  • Microservices
  • Nanoservices
  • Serverless
  • Microfrontends
  • An overall perspective
  • Summary
  • Chapter 7: Modular and Layered Architectures
  • Technical requirements
  • Clean Architecture
  • Hexagonal architecture
  • Functional core, imperative shell
  • The Connect pattern
  • Comparisons of architectural styles
  • When to use which architectural style
  • In relation to the anemic domain model
  • Organizing source code as layers
  • Summary
  • Chapter 8: Domain-Driven Design (DDD)
  • Technical requirements
  • Fundamentals of DDD
  • DDD – strategic design
  • DDD – tactical design
  • Modeling activities for DDD
  • Summary
  • Chapter 9: Event Sourcing and CQRS
  • Technical requirements
  • Event Sourcing
  • Command-Query Responsibility Segregation (CQRS)
  • Combining CQRS and Event Sourcing
  • Popular frameworks and infrastructure for CQRS and Event Sourcing
  • Summary
  • Chapter 10: Idempotency, Replication, and Recovery Models
  • Technical requirements
  • Idempotency
  • Replication
  • Recovery
  • Summary
  • Chapter 11: Auditing and Monitoring Models
  • Technical requirements
  • The importance of auditing and monitoring
  • The challenges of distributed system auditing and monitoring
  • Capturing the appropriate data
  • Audit trails
  • Centralizing and aggregating data
  • Summary
  • Chapter 12: Performance and Scalability
  • Technical requirements
  • Dimensions of performance and scalability
  • Optimize performance now or later?
  • An example of basic performance measurement
  • Performance tests
  • Planning a performance test
  • Micro-benchmarking
  • Application profiling
  • Strategies for performance improvement
  • Ultra-low latency systems
  • Summary
  • Chapter 13: Testing
  • Technical requirements
  • The role of QA and software testers
  • QA’s involvement in the software development life cycle
  • Testing pyramid
  • TDD
  • BDD
  • Live testing, A/B testing, and segmentation
  • Summary
  • Chapter 14: Security
  • Technical requirements
  • The importance of security in software architecture
  • The CIA triad
  • Authentication
  • Authorization
  • Handling sensitive data
  • Network security
  • DevSecOps
  • Summary
  • Chapter 15: Beyond Architecture
  • Technical requirements
  • Powered by Kotlin
  • Transitioning from Java
  • Continuous integration and delivery
  • Developer experience
  • Final thoughts on software architecture
  • Summary
  • Index
  • About PACKT
  • Other Books You May Enjoy

مشخصات

نام کتاب

Software Architecture with Kotlin

نویسنده

Jason Chow

انتشارات

Packt Publishing

تاریخ انتشار

2024

ISBN

9781835461860

تعداد صفحات

462

زبان

انگلیسی

فرمت

pdf

حجم

5.2MB

موضوع

kotlin-architecture