Skip to content

Commit

Permalink
Ubiquitous Language
Browse files Browse the repository at this point in the history
  • Loading branch information
mohammadKarimi committed Apr 2, 2024
1 parent 5da6047 commit 75361c4
Showing 1 changed file with 7 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,16 @@ type: docs

## استمرار

زبان فراگیر باید دقیق و منسجم باشد. باید نیاز به حدسیات را از بین ببرد و منطق دامنه بیزنس را روشن کند. از آنجایی که ابهام مانع ارتباط می‌شود، هر اصطلاح در زبان فراگیر همواره باید یک و فقط یک معنی داشته باشد. بیایید به چند مثال از اصطلاحات نامعلوم و نحوه بهبود آنها نگاهی بیندازیم.
زبان فراگیر باید دقیق و منسجم باشد. باید نیاز به حدسیات را از بین ببرد و منطق دامنه بیزنس را روشن کند. از آنجایی که ابهام مانع ارتباط می‌شود، هر اصطلاح در زبان فراگیر همواره باید **یک و فقط یک معنی** داشته باشد. بیایید به چند مثال از اصطلاحات نامعلوم و نحوه بهبود آنها نگاهی بیندازیم.

## اصطلاحات مبهم

بیایید بگوییم که در یک حوزه کسب و کار خاص، اصطلاح "سیاست" چندین معنی می‌تواند داشته باشد: ممکن است به یک قانون نظارتی یا یک قرارداد بیمه اشاره داشته باشد. معنی دقیق می‌تواند در تعامل انسان به انسان تصحیح شود و وابسته به زمینه مورد نظر باشد. با این حال، نرم‌افزارها با ابهام به خوبی کنار نمی آیند و مدل کردن اصطلاح "سیاست" در کد، می‌تواند دشوار و چالش برانگیز باشد.
زبان فراگیر یک معنی واحد برای هر اصطلاح می‌طلبد، بنابراین "سیاست" باید به صورت صریح با استفاده از دو اصطلاح "قانون نظارتی" و "قرارداد بیمه" مدل شود.
بیایید بگیم که در یک حوزه کسب و کار خاص، اصطلاح "سیاست - Policy" چندین معنی می‌تواند داشته باشد: ممکن است به یک پالیسی نظارتی در صنعت بیمه یا یک قانونی برای ثبت بیمه اشاره داشته باشد. اما معنی دقیق می‌تواند در تعامل انسان به انسان تصحیح شود و وابسته به زمینه مورد استفاده باشد. با این حال، نرم‌افزارها با ابهام به خوبی کنار نمی آیند و مدل کردن اصطلاح "سیاست" در کد، می‌تواند دشوار و چالش برانگیز باشد.

زبان فراگیر یک معنی واحد و یکسان برای هر اصطلاح میخواهد، بنابراین "سیاست" باید به صورت صریح با استفاده از دو اصطلاح "قانون نظارتی" و "قرارداد بیمه" مدل شود.

## اصطلاحات هم معنی

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

اصطلاحات مترادف در ابتدا ممکن است بی‌خطر به نظر برسند. با این حال، در اکثر موارد، به مفاهیم مختلف اشاره می‌کنند. در این مثال، هر دو اصطلاح بازدیدکننده و کاربر به طور فنی به کاربران سیستم اشاره می‌کنند؛ با این حال، در اکثر سیستم‌ها، کاربران ثبت نام شده و ثبت نام نشده، نقش‌ها و رفتارهای متفاوتی دارند. به عنوان مثال، داده‌های "بازدیدکنندگان" اصولاً برای اهداف تحلیلی استفاده می‌شود، در حالی که "کاربران" واقعاً از سیستم و قابلیت‌های آن استفاده می‌کنند.

0 comments on commit 75361c4

Please sign in to comment.