0
نام کتاب
Functional Design and Architecture

Examples in Haskell

Alexander Granin

Print Length455 Pages
PublisherManning
Edition1
LanguageEnglish
Year2026
ISBN9781617299612
374
A7261
انتخاب نوع چاپ:
جلد سخت
1,447,000ت
0
جلد نرم
1,317,000ت
0
طلق پاپکو و فنر
1,327,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#Haskell

#PureScript

#MVP

#FP

توضیحات

🧩 طراحی نرم‌افزار واقعی با Functional Programming


🚀 کتاب Functional Design and Architecture راهنمایی پیشگام برای طراحی و معماری اپلیکیشن‌های آماده Production با Functional Programming است. مثال‌ها با Haskell نوشته شدن، اما اصول و Patternهای کتاب را میشه در زبان‌هایی مثل PureScript، F# و Scala و سایر زبان‌های Functional هم به کار گرفت.


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

🏗️ طراحی اپلیکیشن‌های Production-Grade با زبان‌های Functional و Statically Typed مثل Haskell را یاد میگیری.

🧩 با Functional Interfaceها، پیچیدگی Code را کنترل و ساختار سیستم را ساده‌تر میکنی.

⚙️ نحوه طراحی Architecture، Subsystem، Service و Frameworkهای Concurrent را برای زبان‌های Functional بررسی میکنی.

🎯 با Free Monadها و ابزارهای Functional، اصول Domain-Driven Design را به کار میگیری.

🧪 روش‌های Property-Based، Integration، Functional، Unit و Automatic Whitebox Testing را یاد میگیری.


📘 توضیح کتاب

💡 Functional Programming فقط نحوه نوشتن چند خط Code را تغییر نمیده؛ بلکه روی تمام مراحل توسعه نرم‌افزار، از سازمان‌دهی داده‌ها و Functionها گرفته تا طراحی Architecture و اجرای Testها اثر میذاره. به همین دلیل، بسیاری از Patternهای استاندارد Object-Oriented در اپلیکیشن‌های Functional نامناسب یا حتی غیرضروری هستن.


🔄 این کتاب کمک میکنه طرز فکر طراحی نرم‌افزار را با سبک Functional Programming هماهنگ کنی. به‌جای انتقال مستقیم Patternهای OO به محیط Functional، یاد میگیری Architecture و Design را براساس ویژگی‌های ذاتی Functionها، Typeها، Immutability و Composition شکل بدی.


🧠 مفهوم اصلی کتاب Functional Declarative Design است؛ رویکردی که برای مدیریت ساختار، رفتار و پیچیدگی سیستم‌های Functional ارائه شده. کتاب از مبانی Software Design شروع میکنه و قدم‌به‌قدم این روش را در اپلیکیشن‌های واقعی گسترش میده.


🛠️ مسیر آموزشی فقط به نظریه محدود نیست. در طول کتاب، اپلیکیشن‌های جالبی مثل یک شبیه‌ساز سرگرم‌کننده کنترل سفینه فضایی و یک Backend Framework کامل میسازی تا اصول طراحی Functional را در پروژه‌هایی بزرگ‌تر از مثال‌های ساده مشاهده کنی.


🚀 ابتدا یک Minimum Viable Product یا MVP طراحی میکنی و بعد ساختار اون را به یک End-to-End Design کامل گسترش میدی. این مسیر نشان میده چطور میشه از یک ایده اولیه به معماری‌ای رسید که قابل‌فهم، توسعه‌پذیر و آماده استفاده واقعی باشه.


🎯 در بخش Domain-Driven Design، با Embedded Domain-Specific Languageها و Domain Modeling با Free Monadها آشنا میشی. این ابزارها کمک میکنن Business Domain را واضح‌تر نمایش بدی و منطق اصلی برنامه را از جزئیات اجرایی جدا نگه داری.


🔄 کتاب طراحی اپلیکیشن‌های Stateful و Reactive را هم بررسی میکنه. یاد میگیری State، Eventها و جریان‌های واکنشی را در محیط Functional مدیریت کنی، بدون اینکه ساختار برنامه به مجموعه‌ای از Dependencyها و Side Effectهای کنترل‌نشده تبدیل بشه.


⚙️ برای ساخت نرم‌افزارهای واقعی، یک Concurrent Application Framework طراحی میکنی و با توسعه اپلیکیشن‌های Multithreaded آشنا میشی. همچنین Foundational Subsystemهایی را میسازی که اجزای اصلی یک سیستم Production را تشکیل میدن.


🗄️ Persistence در دو سطح بررسی میشه: Key–Value Databaseها و Relational Databaseها. این بخش نشان میده برنامه‌های Functional چطور میتونن با Storageهای واقعی ارتباط برقرار کنن و در عین حال مرز میان Business Logic و جزئیات زیرساختی را حفظ کنن.


🛡️ Error Handling، Dependency Inversion و طراحی Business Logic از موضوعات مهم بخش‌های پایانی هستن. این مباحث کمک میکنن سیستم‌هایی بسازی که در برابر تغییر مقاوم‌تر، نگهداری اون‌ها ساده‌تر و وابستگی میان اجزاشون کمتر باشه.


🧪 کتاب Testing را به‌عنوان بخشی اساسی از Design در نظر میگیره و روش‌های Property-Based Testing، Integration Testing، Functional Testing، Unit Testing و Automatic Whitebox Testing را پوشش میده. هدف اینه که Testها ساده، قابل‌نگهداری و هماهنگ با Architecture برنامه باشن.


📚 Functional Design and Architecture یک دیدگاه مشخص و گاهی بحث‌برانگیز درباره طراحی نرم‌افزار داره و ممکنه با بعضی از نظرهای نویسنده موافق نباشی. بااین‌حال، کتاب باعث میشه درباره شیوه طراحی سیستم‌ها از زاویه‌ای تازه فکر کنی و Patternهای رایج را دوباره مورد ارزیابی قرار بدی.


🎯 در پایان، یک رویکرد کامل برای طراحی نرم‌افزار با Functional Programming به دست میاری؛ از Architecture اولیه و Domain Modeling گرفته تا Concurrency، Persistence، Error Handling، Business Logic و Testing. هرچند مثال‌ها با Haskell نوشته شدن، اصول کتاب محدود به یک زبان خاص نیستن.


🎯 چیزهایی که یاد میگیری

🏗️ یاد میگیری اپلیکیشن‌های آماده Production را با زبان‌های Functional و Statically Typed مثل Haskell طراحی کنی.

🧩 میتونی با Functional Interfaceها پیچیدگی Code را کنترل کنی.

⚙️ با طراحی Architecture، Subsystem و Service برای زبان‌های Functional آشنا میشی.

🚀 یاد میگیری یک MVP را طراحی کنی و اون را به یک سیستم End-to-End گسترش بدی.

🎯 میتونی Embedded DSLها و Free Monadها را در Domain-Driven Design به کار بگیری.

🔄 یاد میگیری اپلیکیشن‌های Stateful و Reactive را طراحی کنی.

🧵 میتونی Frameworkهای Concurrent و اپلیکیشن‌های Multithreaded توسعه بدی.

🗄️ با طراحی Persistence برای Key–Value Databaseها و Relational Databaseها آشنا میشی.

🛡️ یاد میگیری Error Handling و Dependency Inversion را در محیط Functional پیاده‌سازی کنی.

💼 میتونی Business Logic را از جزئیات زیرساختی جدا و منظم طراحی کنی.

🧪 با Property-Based، Integration، Functional، Unit و Automatic Whitebox Testing آشنا میشی.

🔄 یاد میگیری Designهای Object-Oriented را برای محیط‌های Functional دوباره تنظیم کنی.


👤 این کتاب برای چه کسانیه؟

👨‍💻 این کتاب برای Developerهای باتجربه‌ای نوشته شده که حداقل با یک زبان Functional آشنایی دارن و میخوان از مثال‌های کوچک عبور کنن و سیستم‌های کامل بسازن.

🏗️ Software Architectها و برنامه‌نویسانی که به طراحی اپلیکیشن‌های Production-Grade، مقیاس‌پذیر و قابل‌نگهداری با Haskell، PureScript، F# یا Scala علاقه دارن، مخاطبان اصلی کتاب هستن.

🧠 برای استفاده بهتر از مطالب، آشنایی قبلی با مفاهیم Functional Programming لازمه. کتاب بیشتر روی Design و Architecture تمرکز داره و یک آموزش مقدماتی برنامه‌نویسی Functional محسوب نمیشه.


📝 نقد و بررسی

💭 «دنیای Functional به چنین کتابی نیاز داره؛ کتابی که فقط فصل‌های نظری درباره Functional Domain ارائه نمیده و تمرین‌ها و کاربردهای عملی این حوزه را هم پوشش میده.»

— گرمن گونزالس موریس


💭 «پلی بسیار ضروری میان درک نظری Functional Programming و توانایی طراحی و ساخت سیستم‌های نرم‌افزاری کامل با استفاده از اون.»

— ماکاراند دشپانده


💭 «نگاهی بسیار دقیق به Functional Design همراه با مثال‌های غنی.»

— چارلز ارل


💭 «کتابی عالی که جنبه‌های مختلفی از Haskell را نشان میده که دیدن اون‌ها در مقاله‌ها یا کتاب‌های دیگه بسیار غیرمعموله.»

— آندرس ساکو


💭 «اگر میخوای اپلیکیشن‌های واقعی را با Haskell و با تمرکز بر ظرافت، انعطاف‌پذیری و مقیاس‌پذیری طراحی کنی، باید این کتاب را بخونی.»

— دیوید پاکود


📖 فهرست مطالب

بخش اول. مقدمه‌ای بر Functional Declarative Design

فصل ۱. Software Design چیست؟

فصل ۲. مبانی Functional Declarative Design

بخش دوم. Minimum Viable Product

فصل ۳. طراحی نسخه اولیه اپلیکیشن MVP

فصل ۴. طراحی End-to-End

بخش سوم. Domain-Driven Design

فصل ۵. Embedded Domain-Specific Languageها

فصل ۶. Domain Modeling با Free Monadها

بخش چهارم. اپلیکیشن‌های Stateful و Reactive

فصل ۷. اپلیکیشن‌های Stateful

فصل ۸. اپلیکیشن‌های Reactive

بخش پنجم. طراحی نرم‌افزارهای واقعی

فصل ۹. Concurrent Application Framework

فصل ۱۰. Subsystemهای بنیادی

فصل ۱۱. Persistence: پایگاه‌های داده Key–Value

فصل ۱۲. Persistence: پایگاه‌های داده Relational

فصل ۱۳. Error Handling و Dependency Inversion

فصل ۱۴. طراحی Business Logic

فصل ۱۵. Testing


👤 درباره نویسنده

👨‍💻 الکساندر گرانین، Software Architect، سخنران بین‌المللی، نویسنده و پژوهشگر است.

🏅 او به‌عنوان یکی از متخصصان شناخته‌شده در جامعه‌های C++ و Haskell فعالیت میکنه.


Design patterns and architectures for building production quality applications using functional programming.


Functional Design and Architecture is a pioneering guide to software engineering using Haskell and other functional languages. In it, you’ll discover Functional Declarative Design and other design principles perfect for working in Haskell, PureScript, F#, and Scala.


In Functional Design and Architecture you will learn:

  • Designing production applications in statically typed functional languages such as Haskell
  • Controlling code complexity with functional interfaces
  • Architectures, subsystems, and services for functional languages
  • Developing concurrent frameworks and multithreaded applications
  • Domain-driven design using free monads and other functional tools
  • Property-based, integrational, functional, unit, and automatic whitebox testing


Functional Design and Architecture lays out a comprehensive and complete approach to software design that utilizes the powerful and fascinating ideas of functional programming. Its examples are in Haskell, but its universal principles can be put into practice with any functional programming language. Inside, you’ll find cutting-edge functional design principles and practices for every stage of application development, from architecting your application through to running simple and maintainable tests.


About the technology

Functional programming affects every aspect of software development, from how you write individual lines of code to the way you organize your applications and data. In fact, many standard OO patterns are unsuitable or unnecessary for FP applications. This book will reorient your thinking to align software design with a functional programming style. The examples are in Haskell, but the ideas are universal.


About the book

Functional Design and Architecture teaches you how to design software following the unique principles of functional programming. You’ll explore FP-first paradigms like Functional Declarative Design by building interesting applications, including a fun spaceship control simulator and a full-fledged backend framework. This is an opinionated book and you may disagree on some points. But we guarantee it will make you think in a fresh way about how you design software.


What's inside

  • Control code complexity with functional interfaces
  • Architectures, subsystems, and services for functional languages
  • Domain-driven design using free monads
  • Property-based and automatic whitebox testing
  • Recalibrate OO designs for functional environments


About the reader

For experienced developers who know a functional language.


Table of Contents

Part 1. Introduction to Functional Declarative Design

1. What Is Software Design?

2. The Basics of Functional Declarative Design


Part 2. Minimum Viable Product

3. Drafting the MVP Application

4. End-to-End Design


Part 3. Domain-Driven Design

5. Embedded Domain-Specific Languages

6. Domain Modeling with Free Monads


Part 4. Stateful and Reactive Applications

7. Stateful Applications

8. Reactive Applications


Part 5. Designing Real-World Software

9. Concurrent Application Framework

10. Foundational Subsystems

11. Persistence: Key–Value Databases

12. Persistence: Relational Databases

13. Error Handling and Dependency Inversion

14. Business Logic Design

15. Testing


Review

“The functional scene needs to have this kind of book, one with not only theoretical functional domain chapters, but with practice in the area too.” — German Gonzalez-Morris


“A much desired bridge between the theoretical understanding of functional programming and the ability to design and construct entire software systems using it.” — Makarand Deshpande


“A very detailed look at functional design with rich examples.” — Charles Earl


“A great book which show you different aspects of Haskell which are very uncommon to see in other articles or books.” — Andres Sacco


“If you want to design real world applications in Haskell with a focus on elegance, flexibility, and scalability, you must read this book.” — David Paccoud


About the Author

Alexander Granin is a software architect, international speaker, author, and researcher. He is a known authority in the C++ and Haskell communities.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Haskell
1,136
Real World Haskell
2,178,000 تومان
Haskell
374
Functional Design and Architecture
1,317,000 تومان
Haskell
1,222
Algorithm Design with Haskell
1,315,000 تومان
Haskell
628
Learn Physics with Functional Programming
2,038,000 تومان
Haskell
1,220
Thinking Functionally with Haskell
1,094,000 تومان
Haskell
1,150
Get Programming with Haskell
2,078,000 تومان
Haskell
906
Production Haskell
1,342,000 تومان
Haskell
1,123
Effective Haskell
2,065,000 تومان
Haskell
1,029
Haskell in Depth
2,070,000 تومان
Haskell
1,052
Learn You a Haskell for Great Good!
1,200,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما