دیزاین سیستم، زبون مشترکی که ایجنتها هم بلدن
خلاصهٔ کاملتر
نویسنده که تو یه شرکت بزرگ روی دیزاین سیستم کار میکنه، میگه بخش اصلی کارش اینه که محصول با وجود تیمهای مختلف، هنوز یه محصول واحد به نظر برسه. به گفتهٔ اون، چیزی که این یکپارچگی رو منتقل میکنه اسمهاست: Overview و PageHeader و SettingsFrame فقط برچسب کامپوننت نیستن، میانبر تصمیمهایی هستن که تیم نباید تو هر جلسهٔ برنامهریزی یا ریویو دوباره بازشون کنه.
مستندات هر الگو هم باید سه چیز رو بگه: چه مشکلی رو حل میکنه، چه قاعدههایی داره، و کِی نباید ازش استفاده کرد. مشکل اینجاست که تسلط به این زبون برای آدم گرون تموم میشه. تو با تکرار یادش میگیری؛ کامپوننتها رو میبینی، استثناها رو یاد میگیری، یادت میمونه چرا یه صفحه فلان شکل رو داره. نتیجهش اینه که این زبون فقط بین چند نفر نزدیک به سیستم میمونه.
نویسنده معتقده ایجنت اینجا یه مزیت متفاوت داره. اگه بهش دسترسی به ریپازیتوری بدی، میتونه پیادهسازی پشت هر اسم، راهنمای کنارش و نمونههای واقعی استفاده رو با هم ببینه. اسمِ تنها فقط میگه کجا رو نگاه کن؛ دلیلِ وجودِ الگو میگه چرا این الگو ساخته شده و کجا جواب نمیده. ایجنت خودبهخود سلیقه پیدا نمیکنه، ولی سابقهها و محدودیتهایی رو بیرون میکشه که یه همکار تازه ماهها طول میکشه جمعشون کنه.
مثال خود مقاله اینه: یه PM صفحهٔ «پروژهها» رو میخواد و لازم نیست همهٔ لِیآوتها و کامپوننتها رو بلد باشه. ایجنت الگوهای موجود رو وارسی میکنه و باهاشون صفحه میسازه، بعد تیم تصمیم میگیره که این همون تجربهٔ موردنظر هست یا نه. یه فایدهٔ جانبی هم داره: اگه درخواست به هیچ الگوی نامگذاریشدهای نخوره، اون شکاف بهجای اینکه تو یه صفحهٔ سرهمبندیشده دفن بشه، دیده میشه.
جمعبندی نویسنده اینه که پیچیدگی سیستم سر جاش میمونه و این زبون فقط راهی میده که آدمها بهش اشاره کنن. مونتاژ کار ایجنته، ولی قضاوت اینکه نتیجه به درد محصول میخوره یا نه، همچنان کار تیمه.
نکات کلیدی:
- اسم الگوها مثل Overview و PageHeader و SettingsFrame تصمیمهای تکرارشونده رو ثبت میکنن، نه فقط ظاهر کامپوننت
- مستندات هر الگو باید مسئله، قاعدهها و موارد «استفاده نکن» رو بگه
- یادگیری این زبون برای آدمها با تکرار و کُند اتفاق میافته، برای همین محدود به تیم نزدیک سیستم میمونه
- ایجنت با دسترسی به ریپو، کد و راهنما و نمونههای واقعی رو کنار هم میبینه و سریعتر به سابقهها میرسه
- درخواستی که با هیچ الگوی نامگذاریشدهای جور درنیاد، شکاف سیستم رو آشکار میکنه




