From 249bc79b871df4adbdc9e7ce77b50970e5fc0801 Mon Sep 17 00:00:00 2001 From: mohammadKarimi Date: Sat, 13 Apr 2024 13:55:57 +0330 Subject: [PATCH] Chapter 3 - Model --- .obsidian/workspace.json | 10 +++++----- .../Inconsistent Models/Inconsistent Models.md | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index b430feb..d92bc24 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -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 } @@ -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", @@ -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 } @@ -125,7 +125,7 @@ "state": { "type": "outline", "state": { - "file": "COUNTRIBUTING.md" + "file": "content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md" } } } @@ -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", @@ -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", diff --git a/content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md b/content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md index 5cd2128..5eeea70 100644 --- a/content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md +++ b/content/part 1 - Strategic Design/chapter 3/Inconsistent Models/Inconsistent Models.md @@ -24,3 +24,8 @@ ![[3-2.png]] +این جور مدل ها همان‌طور که همیشه می‌گن، "همه‌کاره، هیچ‌کاره." اینگونه مدل‌ها قرار است برای همه چیزی مناسب باشند، اما در نهایت برای هیچ‌چیز مؤثر نیستند. مهم اینه که در این مدل هر چه کار کنید، همیشه با پیچیدگی بیشتری روبه‌رو هستید: فیلتر کردن جزئیات غیرضروری، پیدا کردن آنچه که واقعاً نیاز دارید ، همه ی اینها نمونه هایی از پیچیدگی هستند و بیشتر از همه، پیچیدگی حفظ داده‌ها در یک وضعیت درست و سازگار. + +یک راه‌حل دیگر این است که اصطلاح مشکل‌ساز را با یک تعریف از زمینه مربوطه پیش‌وند بگیریم: "لید بازاریابی" و "لید فروش". این امکان را فراهم می‌کند که دو مدل را در کد پیاده‌سازی کنیم. با این حال، این رویکرد دو معایب اصلی دارد. اولاً، بار شناختی را ایجاد می‌کند. هر مدل باید کی به کار برده شود؟ هر چه پیاده‌سازی‌های مدل‌های متضاد به یکدیگر نزدیک‌تر باشند، اشتباه کردن آسان‌تر است. ثانیاً، پیاده‌سازی مدل با زبان جامع هماهنگ نخواهد بود. هیچکس در گفتگوها از پیشوندها استفاده نخواهد کرد. افراد به این اطلاعات اضافی نیاز ندارند؛ می‌توانند بر روی زمینه گفتگو اعتماد کنند. + +بیایید به الگوی طراحی مبتنی بر دامنه بپردازیم برای مقابله با چنین وضعیت‌هایی: الگوی دامنه‌محور محدود (bounded context pattern). \ No newline at end of file