Skip to content

Commit

Permalink
Chapter 3 - Model
Browse files Browse the repository at this point in the history
  • Loading branch information
mohammadKarimi committed Apr 13, 2024
1 parent 40ad118 commit 249bc79
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 5 deletions.
10 changes: 5 additions & 5 deletions .obsidian/workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"state": {
"type": "markdown",
"state": {
"file": "COUNTRIBUTING.md",
"file": "content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md",
"mode": "source",
"source": false
}
Expand Down Expand Up @@ -85,7 +85,7 @@
"state": {
"type": "backlink",
"state": {
"file": "COUNTRIBUTING.md",
"file": "content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
Expand All @@ -102,7 +102,7 @@
"state": {
"type": "outgoing-link",
"state": {
"file": "COUNTRIBUTING.md",
"file": "content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
Expand All @@ -125,7 +125,7 @@
"state": {
"type": "outline",
"state": {
"file": "COUNTRIBUTING.md"
"file": "content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md"
}
}
}
Expand All @@ -148,6 +148,7 @@
},
"active": "2ccb43511fc75ac7",
"lastOpenFiles": [
"COUNTRIBUTING.md",
"content/_index.md",
"content/sponsors.md",
"content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md",
Expand Down Expand Up @@ -175,7 +176,6 @@
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.2 Generic Subdomains/1.3.2 Generic subdomains.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.1 Core Subdomains/1.3.1 Core Subdomains.md",
"content/preface.md",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3 What is a Subdomain.md",
"content/part 1 - Strategic Design/chapter 3/Inconsistent Models",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.3 Supporting Subdomains",
"content/part 1 - Strategic Design/chapter 1/1.3 What is a Subdomain/1.3.2 Generic Subdomains",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,8 @@

![[3-2.png]]

این جور مدل ها همان‌طور که همیشه می‌گن، "همه‌کاره، هیچ‌کاره." اینگونه مدل‌ها قرار است برای همه چیزی مناسب باشند، اما در نهایت برای هیچ‌چیز مؤثر نیستند. مهم اینه که در این مدل هر چه کار کنید، همیشه با پیچیدگی بیشتری روبه‌رو هستید: فیلتر کردن جزئیات غیرضروری، پیدا کردن آنچه که واقعاً نیاز دارید ، همه ی اینها نمونه هایی از پیچیدگی هستند و بیشتر از همه، پیچیدگی حفظ داده‌ها در یک وضعیت درست و سازگار.

یک راه‌حل دیگر این است که اصطلاح مشکل‌ساز را با یک تعریف از زمینه مربوطه پیش‌وند بگیریم: "لید بازاریابی" و "لید فروش". این امکان را فراهم می‌کند که دو مدل را در کد پیاده‌سازی کنیم. با این حال، این رویکرد دو معایب اصلی دارد. اولاً، بار شناختی را ایجاد می‌کند. هر مدل باید کی به کار برده شود؟ هر چه پیاده‌سازی‌های مدل‌های متضاد به یکدیگر نزدیک‌تر باشند، اشتباه کردن آسان‌تر است. ثانیاً، پیاده‌سازی مدل با زبان جامع هماهنگ نخواهد بود. هیچکس در گفتگوها از پیشوندها استفاده نخواهد کرد. افراد به این اطلاعات اضافی نیاز ندارند؛ می‌توانند بر روی زمینه گفتگو اعتماد کنند.

بیایید به الگوی طراحی مبتنی بر دامنه بپردازیم برای مقابله با چنین وضعیت‌هایی: الگوی دامنه‌محور محدود (bounded context pattern).

0 comments on commit 249bc79

Please sign in to comment.