فصلِ 9

زیرگردش‌کارها و معماری

وقتی گردش‌کارها بزرگ شدند، رازِ نظم همان رازِ برنامه‌نویسیِ خوب است: تکه‌های کوچکِ قابلِ استفادهٔ مجدد.


۱

چرا زیرگردش‌کار

یک گردش‌کارِ صدنودی نگه‌داری‌اش کابوس است. به‌جایش، منطقِ تکرارشونده را در یک زیرگردش‌کار (sub-workflow) جدا کن و از چند جا صدایش بزن. همان اصلِ «تابع» در برنامه‌نویسی: یک‌بار بنویس، همه‌جا استفاده کن، یک‌جا اصلاح کن.

۲

نودِ Execute Sub-workflow

صداکردنِ یک گردش‌کار از داخلِ گردش‌کارِ دیگر.

گردش‌کارِ فرزند با یک تریگرِ Execute Sub-workflow Trigger شروع می‌شود، داده را از والد می‌گیرد، کارش را می‌کند و نتیجه را برمی‌گرداند. این‌طور می‌توانی یک «کتابخانه» از عملیاتِ مشترک بسازی: مثلاً یک زیرگردش‌کارِ «نرمال‌سازیِ شمارهٔ تلفن» که همهٔ گردش‌کارهایت صدایش می‌زنند.

۳

الگوهای معماری

الگوکاربرد
Dispatcherیک گردش‌کارِ ورودی که بر اساسِ نوعِ رویداد، زیرگردش‌کارِ درست را صدا می‌زند
کتابخانهٔ توابعچند زیرگردش‌کارِ کوچکِ ابزاری که بقیه استفاده می‌کنند
خط‌لولهزنجیره‌ای از مراحلِ مستقل که هرکدام زیرگردش‌کارِ خودش است
۴

نظم و نام‌گذاری

معماریِ خوب بیشتر دربارهٔ وضوح است تا زیرکی.

نودها را معنادار نام‌گذاری کن (Get Customer بهتر از HTTP Request 3). از نودهای Sticky Note برای توضیحِ روی بوم استفاده کن. گردش‌کارها را با پیشوند دسته‌بندی کن. آدمِ ماهِ بعد که این را باز می‌کند احتمالاً خودتی — با خودت مهربان باش.