این اپیزود، پلی است میان خانههای سنتی تبریز و کاشان و معماری میکروسرویسها.
درباره این اپیزود
در اپیزود نخست از فصل زبان الگوها با کریستوفر الکساندر آشنا شدیم؛ معمار و فیلسوفی که مفهوم «الگو» را نه بهعنوان یک راهحل آماده، بلکه بهعنوان زبانی زنده برای خلق فضاهای انسانی تعریف کرد. دیدیم که چگونه او در سفر به ایران، در حیاطهای مرکزی خانههای اصفهان و کوچههای کاشان، «نظم زنده» را کشف کرد.
حالا در اپیزود دوم، مسیر این ایده را دنبال میکنیم. از کتابخانههای دانشگاهی تا ذهن چهار مهندس نرمافزار که قرار بود تاریخ برنامهنویسی را برای همیشه تغییر دهند.
نگاه دوم: زبان الگوها | ریشهها؛ آغاز زبان الگوها در معماری و نرمافزار
در این اپیزود چه میشنویم؟
-
گروه چهار (Gang of Four) چه کسانی بودند و چطور به آثار الکساندر رسیدند؟
-
چه شد که کتاب «Design Patterns» متولد شد و چرا هنوز هم پس از ۳۰ سال، جزو تأثیرگذارترین کتابهای مهندسی نرمافزار است؟
-
الگوهای آفرینشی، ساختاری و رفتاری یعنی چه؟ (با مثالهایی ساده و قابلفهم)
-
چرا الکساندر بعدها از نحوه استفاده GoF از ایدهاش ابراز نارضایتی کرد؟
-
تفاوت بنیادین میان نگاه الکساندر به «الگو» و آنچه در نرمافزار به الگوی طراحی معروف شد چیست؟
پیوندهایی که شاید نمیدانستید
در این اپیزود، نشان میدهیم که چطور الگوهای طراحی ساختمان معرفی شده توسط کریستوفر الکساندر با الگوهای طراحی نرمافزار مرتبط میشوند:
| الگوی معماری الکساندر | معادل نرمافزاری |
|---|---|
| حیاط مرکزی (فضای جمعی و تعامل) | Event Bus / Message Broker |
| اتاق ورودی (فضای انتقال و محافظت) | API Gateway / Middleware |
| سلسلهمراتب فضاها (از عمومی به خصوصی) | Bounded Contexts در DDD |
| سرویسهای کوچک و بههمپیوسته | Microservices |
| پنجره رو به باغ (ارتباط با محیط بیرون) | Observer Pattern |
و مهمتر از همه، یاد میگیریم که فکر کردن الگوگونه(اسم عجیب غریبیه درسته!) یعنی چه و چطور میتواند نرمافزارهایی بسازد که زنده باشند؛ قابل فهم، قابل رشد و انسانی.
هشدار مهم
الگوها ابزار هستند، نه هدف. آنها نباید به سیستم تحمیل شوند، بلکه باید بهصورت ارگانیک از دل نیازها بیرون بیایند.
در این اپیزود، درباره دامهای رایج استفاده از الگوها هم صحبت میکنیم:
-
مهندسی بیش از حد (Over-engineering)
-
کوری الگو (Pattern Blindness)
-
تفاوت میان الگوی واقعی و «راهحل طلایی» جعلی
برای چه کسانی مفید است؟
-
توسعهدهندگانی که میخواهند بدانند «چرا» الگوها کار میکنند، نه فقط «چطور»
-
معماران نرمافزار و علاقهمندان به طراحی سیستمهای پیچیده
-
هر کسی که به فکر کردن درباره طراحی، در هر حوزهای علاقه دارد
لینکهای مفید مرتبط با این اپیزود
بر روی اسپاتیفای به این اپیزود گوش بدید.
ممنون میشم اگر دوست داشتید با دوستان و رفقا و همکارانتون هم همرسانی کنید تا این تلاش برای ایجاد گفتمان و تجرمان از نگاه دوم بهتر شکل بگیرد.
Podcast: Play in new window | Download