Forwarded from Masoud Bahrami
For a long time, I struggled with complex domains like accounting and payroll. My initial mistake🙋♂️? Thinking I had to invent a better double-entry bookkeeping system or a new way to handle credit/debit equality.
But DDD revealed two profound truths:
🟣 Deep Understanding is Key: The more effort I invested in truly understanding the problem domain the more clearly the right solution emerged.
🟣 Needs vs. Wants: What customers or domain experts express are often just wants. My role shifted to using these wants as clues to uncover the real underlying needs.
I realized my job wasn't to reinvent established accounting principles. Instead it was to discover their true essence and the profound ideas behind them.
At the same, for modeling and designing concepts like ledge, my primary goal was to invent the best solution for them.
A financial ledger, for instance, is far more than just a simple database table separated by year; it's a rich, living concept that demands careful, accurate representation.
But DDD revealed two profound truths:
🟣 Deep Understanding is Key: The more effort I invested in truly understanding the problem domain the more clearly the right solution emerged.
🟣 Needs vs. Wants: What customers or domain experts express are often just wants. My role shifted to using these wants as clues to uncover the real underlying needs.
I realized my job wasn't to reinvent established accounting principles. Instead it was to discover their true essence and the profound ideas behind them.
At the same, for modeling and designing concepts like ledge, my primary goal was to invent the best solution for them.
A financial ledger, for instance, is far more than just a simple database table separated by year; it's a rich, living concept that demands careful, accurate representation.
❤3
🎯 اطلاع رسانی پیشثبتنام ورکشاپ دو روزه معماری
📌 عنوان کارگاه: Designing Goal-Oriented Architecture
🧠 با تمرکز بر حل چالشهای پیشرفته DDD Plus
📅 مدت: دو روز — ۱۶ ساعت آموزشی
👥 مناسب برای: برنامهنویسان، معماران نرمافزار، مدیران محصول و CTOها
📍 بهصورت حضوری / ظرفیت محدود: حداکثر ۱۵ نفر
در این ورکشاپ یاد میگیریم چطور معماری سیستم را از «اهداف واقعی» شروع کنیم ، نه از فریمورکها و ساختارهای از پیشفرضشده.
بهجای آموزش تئوری، روی چالشهای واقعی و پیچیده کار میکنیم.
👇 اطلاعات بیشتر و ثبتنام:
https://domaindrivendesign.ir/product/%d9%88%d8%b1%da%a9%d8%b4%d8%a7%d9%be-designing-goal-oriented-architecture-with-ddd-plus-challenges/
👇لینک مستقیم فرم پیش ثبتنام:
کلیک کنید
📌 عنوان کارگاه: Designing Goal-Oriented Architecture
🧠 با تمرکز بر حل چالشهای پیشرفته DDD Plus
📅 مدت: دو روز — ۱۶ ساعت آموزشی
👥 مناسب برای: برنامهنویسان، معماران نرمافزار، مدیران محصول و CTOها
📍 بهصورت حضوری / ظرفیت محدود: حداکثر ۱۵ نفر
در این ورکشاپ یاد میگیریم چطور معماری سیستم را از «اهداف واقعی» شروع کنیم ، نه از فریمورکها و ساختارهای از پیشفرضشده.
بهجای آموزش تئوری، روی چالشهای واقعی و پیچیده کار میکنیم.
👇 اطلاعات بیشتر و ثبتنام:
https://domaindrivendesign.ir/product/%d9%88%d8%b1%da%a9%d8%b4%d8%a7%d9%be-designing-goal-oriented-architecture-with-ddd-plus-challenges/
👇لینک مستقیم فرم پیش ثبتنام:
کلیک کنید
مکتبخانه DDD
ورکشاپ Designing Goal-Oriented Architecture: with DDD Plus Challenges | مکتبخانه DDD
دوره آموزشی دو روزه معماری Goal-Orinted Architecture بصورت عملی و مبتنی بر سناریوهای DDD Plus
کانال مکتبخانه DDD
🎯 اطلاع رسانی پیشثبتنام ورکشاپ دو روزه معماری 📌 عنوان کارگاه: Designing Goal-Oriented Architecture 🧠 با تمرکز بر حل چالشهای پیشرفته DDD Plus 📅 مدت: دو روز — ۱۶ ساعت آموزشی 👥 مناسب برای: برنامهنویسان، معماران نرمافزار، مدیران محصول و CTOها 📍 بهصورت…
✨صبح همگی عزیزان بخیر🌱
ظرفیت پیشثبتنام کارگاه Designing Goal-Oriented Architecture در کمتر از یک روز تکمیل شد! از استقبال شما سپاسگزاریم.❤️ 🙏
به زودی با عزیزانی که موفق به ثبتنام شدن تماس میگیریم تا مرحله بعدی رو تکمیل کنیم.
برای دوستانی هم که جا موندن: داریم بررسی میکنیم که بتونیم ظرفیت رو یه کوچولو بیشتر کنیم! اگه شد، همینجا اطلاع میدیم 💬👀
ظرفیت پیشثبتنام کارگاه Designing Goal-Oriented Architecture در کمتر از یک روز تکمیل شد! از استقبال شما سپاسگزاریم.❤️ 🙏
به زودی با عزیزانی که موفق به ثبتنام شدن تماس میگیریم تا مرحله بعدی رو تکمیل کنیم.
برای دوستانی هم که جا موندن: داریم بررسی میکنیم که بتونیم ظرفیت رو یه کوچولو بیشتر کنیم! اگه شد، همینجا اطلاع میدیم 💬👀
Forwarded from Masoud Bahrami
🚀 Need advanced date/time manipulation in .NET?
I'm excited to announce the release of Quantum.Tempo v1.0.0, a powerful, calendar-agnostic date/time framework for .NET!
🔹 Intuitive string-based API for dates, times, intervals, and durations
🔹 Supports multiple calendars: Gregorian, Persian (Shamsi), Hijri, and custom
🔹 Recurrence rules (RRULE), interval algebra, fuzzy date parsing, and timezone support
🔹 Comes with a handy REPL CLI for interactive exploration
🔹 Fully ISO-compliant and localization-ready
Check it out on NuGet:
👉 https://www.nuget.org/packages/Quantum.Tempo/
🌟 Try it, contribute, and let's make date/time handling in .NET simpler and smarter!
I'm excited to announce the release of Quantum.Tempo v1.0.0, a powerful, calendar-agnostic date/time framework for .NET!
🔹 Intuitive string-based API for dates, times, intervals, and durations
🔹 Supports multiple calendars: Gregorian, Persian (Shamsi), Hijri, and custom
🔹 Recurrence rules (RRULE), interval algebra, fuzzy date parsing, and timezone support
🔹 Comes with a handy REPL CLI for interactive exploration
🔹 Fully ISO-compliant and localization-ready
Check it out on NuGet:
👉 https://www.nuget.org/packages/Quantum.Tempo/
🌟 Try it, contribute, and let's make date/time handling in .NET simpler and smarter!
www.nuget.org
Quantum.Tempo 1.0.2
Quantum.Tempo is a powerful, calendar-agnostic .NET library for intuitive and ISO-compliant manipulation of dates, times, intervals, and durations. It supports Gregorian, Persian (Shamsi), Hijri, and custom calendars using a clean, string-based API. Features…
Forwarded from Masoud Bahrami
💡Sequencer Design Pattern
In my experience modeling and designing complex domains, I've utilized not only existing design patterns and heuristics but also developed a unique perspective on problems.
I’ve observed that many issues inherently possess a sense of repetition and circularity. For example, an hour can be modeled as a sequencer that completes 24 cycles, encompassing minutes that each complete 60 cycles.
Similarly, consider how a dollar is represented in cents; after every 100 cents, it wraps into a dollar.
To address these types of problems, I introduced the Sequencer Design Pattern, which can be beneficial in various situations.
Read the article and see examples here👇
https://masoudbahrami.com/article/introducing-sequencer-pattern/
In my experience modeling and designing complex domains, I've utilized not only existing design patterns and heuristics but also developed a unique perspective on problems.
I’ve observed that many issues inherently possess a sense of repetition and circularity. For example, an hour can be modeled as a sequencer that completes 24 cycles, encompassing minutes that each complete 60 cycles.
Similarly, consider how a dollar is represented in cents; after every 100 cents, it wraps into a dollar.
To address these types of problems, I introduced the Sequencer Design Pattern, which can be beneficial in various situations.
Read the article and see examples here👇
https://masoudbahrami.com/article/introducing-sequencer-pattern/
Masoud Bahrami
Introducing The Sequencer Pattern
Learn the Sequencer Pattern: a behavioral design pattern for bounded, wrap-around progressions (time, currency, buffers). Includes UML, JS examples, test strategy, and composition best practices.
❤1
🎯 ثبتنام عمومی برای ورکشاپ Goal-Oriented Software Architecture (GOA) شروع شده است.
همانطور که قبلاً اشاره شد، این کارگاه دو روزه با تمرکز بر حل چالشهای پیشرفته DDD Plus برگزار میشود و به شما کمک میکند تا:
🟣 یاد بگیرید چطور معماری سیستم را از «اهداف واقعی» شروع کنید.
🟣 به جای تئوری، روی چالشهای پیچیده و واقعی کار کنید و تجربه کسب نمایید.
ظرفیت این دوره به صورت حضوری و محدود است.
📅 مدت: دو روز — ۱۶ ساعت آموزشی. تاریخ 27 و 28 شهریور 1404
👥 اگر برنامهنویس، معمار نرمافزار، مدیر محصول یا CTO هستید، این کارگاه برای شما مفید میباشد.
برای اطلاعات بیشتر و ثبتنام، از طریق لینک زیر اقدام کنید:
https://evand.com/events/masoud-bahrami-goa-workshop
برای آشنایی عمیقتر با مفاهیم، میتوانید مقالههای زیر را مطالعه کنید:
🧠 Goal-Oriented Architecture: https://masoudbahrami.com/article/introducing-goal-oriented-software-architecture/
❓DDD Plus Challenges: https://domaindrivendesign.ir/tag/ddd-plus/
منتظر دیدار شما در این ورکشاپ کاربردی هستیم.
همانطور که قبلاً اشاره شد، این کارگاه دو روزه با تمرکز بر حل چالشهای پیشرفته DDD Plus برگزار میشود و به شما کمک میکند تا:
🟣 یاد بگیرید چطور معماری سیستم را از «اهداف واقعی» شروع کنید.
🟣 به جای تئوری، روی چالشهای پیچیده و واقعی کار کنید و تجربه کسب نمایید.
ظرفیت این دوره به صورت حضوری و محدود است.
📅 مدت: دو روز — ۱۶ ساعت آموزشی. تاریخ 27 و 28 شهریور 1404
👥 اگر برنامهنویس، معمار نرمافزار، مدیر محصول یا CTO هستید، این کارگاه برای شما مفید میباشد.
برای اطلاعات بیشتر و ثبتنام، از طریق لینک زیر اقدام کنید:
https://evand.com/events/masoud-bahrami-goa-workshop
برای آشنایی عمیقتر با مفاهیم، میتوانید مقالههای زیر را مطالعه کنید:
🧠 Goal-Oriented Architecture: https://masoudbahrami.com/article/introducing-goal-oriented-software-architecture/
❓DDD Plus Challenges: https://domaindrivendesign.ir/tag/ddd-plus/
منتظر دیدار شما در این ورکشاپ کاربردی هستیم.
❤1
نقطه | جایی که هر چیز آغاز میشود.
سلام دوستان عزیز و گرامی ✨
میخواهیم از «نقطه» بگیم.
نه یک نقطهی ساده؛ بلکه نقطهای که آغازگر همه چیز است.
نقطهای که برای نویسنده اولین واژه است، برای نقاش اولین ضربه قلممو و برای ما برنامهنویسها، اولین خط کد.
همان جرقهای که از دلش معماریها، محصولها و مسیرهای بزرگ ساخته میشوند.
ما باور داریم:
هر ایدهای از یک نقطه شروع میشود.
یک نقطه در ذهن، یک نقطه روی تخته سفید، یک نقطه در اولین commit.
نقطه، جایی برای گردهمآیی ماست.
جایی برای همفکری، برای بازگشت به اصول و برای کشف کردن. جایی که از یک نقطه، یک مسیر میسازیم و از یک ایده، یک جامعهی پویا.
بهزودی با اولین برنامه میایم، تا اولین نقطهی این مسیر رو با هم بگذاریم.
👀 منتظر خبرهای بعدی باشید...
سلام دوستان عزیز و گرامی ✨
میخواهیم از «نقطه» بگیم.
نه یک نقطهی ساده؛ بلکه نقطهای که آغازگر همه چیز است.
نقطهای که برای نویسنده اولین واژه است، برای نقاش اولین ضربه قلممو و برای ما برنامهنویسها، اولین خط کد.
همان جرقهای که از دلش معماریها، محصولها و مسیرهای بزرگ ساخته میشوند.
ما باور داریم:
هر ایدهای از یک نقطه شروع میشود.
یک نقطه در ذهن، یک نقطه روی تخته سفید، یک نقطه در اولین commit.
نقطه، جایی برای گردهمآیی ماست.
جایی برای همفکری، برای بازگشت به اصول و برای کشف کردن. جایی که از یک نقطه، یک مسیر میسازیم و از یک ایده، یک جامعهی پویا.
بهزودی با اولین برنامه میایم، تا اولین نقطهی این مسیر رو با هم بگذاریم.
👀 منتظر خبرهای بعدی باشید...
❤6
Noghteh | A point to begin, to think, to build
هر مسیر بزرگ با یک نقطه کوچک شروع میشود…
در صفرمین جلسه نقطه، مسعود بهرامی یک سخنرانی کوتاه با عنوان "نقطهی صفر" ارائه میدهد.
در ادامه برنامه:
- گفتوگوی آزاد با شرکتکنندگان
- پرسش و پاسخ
- برداشتها و نکات کلیدی برای آغاز مسیر
📅 زمان: سهشنبه، 19:00 – 20:15 (به وقت تهران)
📍 آنلاین
🔗 ثبتنام در Luma
📖 اطلاعات بیشتر: صفحه رویداد
هر مسیر بزرگ با یک نقطه کوچک شروع میشود…
در صفرمین جلسه نقطه، مسعود بهرامی یک سخنرانی کوتاه با عنوان "نقطهی صفر" ارائه میدهد.
در ادامه برنامه:
- گفتوگوی آزاد با شرکتکنندگان
- پرسش و پاسخ
- برداشتها و نکات کلیدی برای آغاز مسیر
📅 زمان: سهشنبه، 19:00 – 20:15 (به وقت تهران)
📍 آنلاین
🔗 ثبتنام در Luma
📖 اطلاعات بیشتر: صفحه رویداد
❤1👍1🔥1
کانال مکتبخانه DDD
Noghteh | A point to begin, to think, to build هر مسیر بزرگ با یک نقطه کوچک شروع میشود… در صفرمین جلسه نقطه، مسعود بهرامی یک سخنرانی کوتاه با عنوان "نقطهی صفر" ارائه میدهد. در ادامه برنامه: - گفتوگوی آزاد با شرکتکنندگان - پرسش و پاسخ - برداشتها و…
سلام به همگی دوستان👋
احتمالاً این جمله معروف رو شنیدهاید:
ما در نقطه، با یک قدم بزرگ شروع میکنیم: نقطهی صفر.
نقطهی صفر، جایی است که همه چیز متولد میشود: یک ایده خام، یک تصمیم مهم، یا حتی اولین خط کد. اما وقتی جلوی این نقطه قرار میگیریم، با سؤالات بزرگی روبرو میشویم:
🔹چطور از صفر شروع کنیم؟
🔹کدام تصمیمها مسیر آیندهمان را میسازند؟
🔹چگونه از اولین قدم، راه درست را پیدا کنیم؟
🔸شما چطور فکر میکنید؟
فردا عصر، در صفرمین جلسهی نقطه، با ارائهای از مسعود بهرامی با عنوان نقطهی صفر این سؤالات کلیدی را بررسی خواهیم کرد. بعد از آن، یک گفتوگوی آزاد و پرسش و پاسخ خواهیم داشت.
جزئیات برنامه:
📅 زمان: سهشنبه، 19:00 – 20:15 (به وقت تهران)
📍 آنلاین
📖 اطلاعات بیشتر: صفحه رویداد
🔗 ثبتنام در Luma
منتظرتان هستیم تا با هم از نقطهی صفر شروع کنیم و شما هم نظراتتان را به اشتراک بگذارید!👀
احتمالاً این جمله معروف رو شنیدهاید:
"هر سفر هزار مایلی با یک قدم آغاز میشود."
ما در نقطه، با یک قدم بزرگ شروع میکنیم: نقطهی صفر.
نقطهی صفر، جایی است که همه چیز متولد میشود: یک ایده خام، یک تصمیم مهم، یا حتی اولین خط کد. اما وقتی جلوی این نقطه قرار میگیریم، با سؤالات بزرگی روبرو میشویم:
🔹چطور از صفر شروع کنیم؟
🔹کدام تصمیمها مسیر آیندهمان را میسازند؟
🔹چگونه از اولین قدم، راه درست را پیدا کنیم؟
🔸شما چطور فکر میکنید؟
فردا عصر، در صفرمین جلسهی نقطه، با ارائهای از مسعود بهرامی با عنوان نقطهی صفر این سؤالات کلیدی را بررسی خواهیم کرد. بعد از آن، یک گفتوگوی آزاد و پرسش و پاسخ خواهیم داشت.
جزئیات برنامه:
📅 زمان: سهشنبه، 19:00 – 20:15 (به وقت تهران)
📍 آنلاین
📖 اطلاعات بیشتر: صفحه رویداد
🔗 ثبتنام در Luma
منتظرتان هستیم تا با هم از نقطهی صفر شروع کنیم و شما هم نظراتتان را به اشتراک بگذارید!👀
مکتبخانه DDD
نقطه | رویداد صفرم | مکتبخانه DDD
⬤ نقطه | Zero Point ⬤ نقطه Noghteh | جایی که هر چیز آغاز میشود A point to begin, to think, to build. درباره نقطه هر مسیر بزرگی با یک نقطه کوچک شروع میشود. یک نقطه در ذهن، یک ایدهی خام، یک جرقهی اولیه که همه چیز از آن متولد میشود. برای نویسنده، نقطه اولین…
👍1