Angular Architecture – ماژول مشترک

🎯 مقدمه
ماژول مشترک حاوی اعلانهایی برای اجزای قابل استفاده مجدد، دستورالعملها و لولهها، و همچنین هر سرویس رایجی است که ممکن است توسط چندین ماژول ویژگی مورد نیاز باشد. همچنین ممکن است ماژول های شخص ثالث مانند Angular Material یا ngx-translate را که در سراسر برنامه استفاده می شود صادر کند.
برای استفاده از ماژول به اشتراک گذاشته شده در ماژول های دیگر، باید آن را در هر ماژولی که نیاز به دسترسی به اجزا، دستورالعمل ها، لوله ها یا خدمات مشترک دارد، وارد کرد.
// Shared Module and export example
@NgModule({
imports: [CommonModule],
declarations: [
MovieCardComponent,
MovieBackdropColorDirective,
MovieFilterPipe
],
exports: [
MovieCardComponent,
MovieBackdropColorDirective,
MovieFilterPipe,
CommonModule,
FormsModule,
MatAutocompleteModule,
MatInputModule,
MatListModule,
],
})
export class SharedModule {}
// Shared Module import example
@NgModule({
declarations: [
...MovieRoutingModule.components
],
imports: [
SharedModule,
MovieRoutingModule,
],
providers: [
MovieResolver
]
})
export class MovieModule { }
توجه: شما همچنین می توانید اجزای مشترک خود را ایجاد کنید مستقل کامپوننت ها یا صادرات هر جزء به عنوان ماژول خود.
اما من معتقدم که اگر تعداد کامپوننتهای مشترک زیادی دارید یا برنامهتان پیچیدهتر است، صادرات کامپوننتهای مشترک از طریق SharedModule عموماً ترجیح داده میشود، زیرا نگهداری آن بسیار آسانتر است.
🎯 مزایا
داشتن بلوکهای ساختمانی سفارشیسازیشده برای برنامهها مانند عناصر معمولی رابط کاربری مانند دکمهها، فهرستهای بازشو، هشدارها، کارتها، جداول، چک باکسها، ورودیهای متن، ورودیهای فایل، عناصر انتخابی و غیره، معمولاً یک نیاز رایج بسیاری از پروژهها است.
یکی از مزایای کلیدی استفاده از SharedModule این است که به شما امکان می دهد اجزای ساختگی ارائه خود را ادغام کنید، که می تواند به عنوان یک پروژه کتابخانه شخص ثالث در نظر گرفته شود. این امر مدیریت و استفاده مجدد از اجزای خود را در چندین پروژه (در صورت نیاز) و همچنین اشتراک گذاری آنها با سایر توسعه دهندگان یا تیم ها را آسان تر می کند.
میتوانید بهراحتی اجزای خود را بهصورت مجزا بهروزرسانی و آزمایش کنید، و تغییراتی را بدون تأثیرگذاری بر عملکرد برنامه اصلی خود ایجاد کنید.
بنابراین این یک مکان عالی برای شروع نوشتن تست های واحد خود و استفاده از چیزی مانند داستان های کتاب داستان است.
اگرچه میتواند وسوسهانگیز باشد که از تست واحد صرف نظر کنید، اما شروع با بخشهای کوچکتر مانند آزمایش مؤلفههای ارائهتان میتواند به شما کمک کند عادت کنید و از مزایای کد قویتر و قابل اعتمادتر بهره ببرید.
Storybook ابزار قدرتمندی است که شما را قادر می سازد:
- اجزای خود را مستقل از برنامه اصلی خود توسعه و آزمایش کنید
- موارد استفاده چندگانه را برای اجزای خود تعریف کنید، و یک نمای کلی واضح تر از سناریوهای مختلف ارائه دهید که در آنها می توان از آنها استفاده کرد.
- اجزای خود را به طور کامل مستند کنید
- با ارائه یک مکان متمرکز برای مشاهده و همکاری، ارتباط بین اعضای تیم را تقویت کنید.