compasable services

سوال شده توسط:

تاریخ ثبت: ۱۴۰۲/۰۲/۲۶

بازدید: 491

پاسخ: 3

تگ: Vue.Js


سلام . استاد من درست متوجه نشدم چه فرقی هست بین compsable و services که ایجاد کردید ؟ توی هر دو میشه این کار ها رو کرد .همینطور توی store pinia هم میشه این ها رو استفاده کرد. امکانش هست راهنمایی کنید دقیقا کجا باید از کدوم موارد استفاده کنیم ؟

پاسخ ها
user

محمد اشرافی

سلام وقت بخیر ، ببینید برای اینکه یه پروژه تر تمیز داشته باشید باید از  یه معماری قابل فهم استفاده کنید ، 

حالا ببینید برای اینکه پروژه اتون نا خوانا نشه و کثیف نباشه باید هر چیزی کار ه خوداش رو انجام بده ،

 

  1.  Store کار اش ذخیره و مدیریت اطلاعات ذخیره شده است
  2. Service کار اش صدا زدن Api هاست
  3. composable کار اش پیاده سازی یه منطق خاص هست ( یه Use Case ) یا برای استفاده از منطق هایی که قراره جاهایه زیادی استفاده بشه

حالا اگر شما توی معماریتون یه همچین قواعد ای رو رعایت کرده باشین اگر بخواین چیزی رو تغییر بدین یا برید Debug انجام بدین یا … میدونید چی ،  کجا هست و برای تغییر یه قسمت باید کجا رو تغییر داد.

 

شما توی Composable می تونید یه فرایند کامل رو پیاده سازی کنید ، مثلا Service رو صدا میزنید ، اطلاعات رو توی Store ذخیره میکنید بعد یه سری فانکشن جدا مینویسید و …

 

امیدوارم متوجه شده باشید اگر سوالی بود در خدمتم

user

ممنون بابت پاسختون . 

یک مثال رو اگر جلو ببریم و مشخص کنیم هر چیزی کجا باید نوشته بشه . فکر میکنم که کامل متوجه بشم . 

در نظر بگیرید یک سیستم اساین کردن نقش به یوزر ها داریم .

کار هایی که باید انجام بدیم اینهاست :

1- تمام یوزر ها رو بگیریم .

2- تمام نقش هارو بگیریم .

3- نقش هایی که به کارنت یوزر از قبل اساین شده رو بگیریم . 

4- یک متد عمومی هم داشته باشیم برای کال کردن api  مثلا fetch . 

 

امکانش هست بگید هر کدوم از این موارد رو توی کدوم قسمت و به چه ترتیبی مینویسید ؟

البته فرض کنیم کلا ts رو توی پروژه استفاده نمیکنیم . 

 

 

 

user

محمد اشرافی

این Use Case منطقی هست یا نه نمیدونم ولی خیلی ساده است ، شما باید یه Service بسازید برای user و یه سرویس برای Role ( البته ساخت Service میتونه یا بر اساس دسته بندی ها توی Api باشه ، یا اینکه خودتون موارد مشابه رو توی یه سرویس قرار بدین )

 

حالا 2 راه دارید یا یه Page بسازید و توش این سرویس هارو صدا بزنید  یا اینکه یه Composable بسازید و این کار رو نجام بدین : 

گرفتن تمام یوزر ها 

گرفتن تمام نقش ها

------------

تو حالتی که بزارید اش توی Composable باید 2 متد بالا رو داشته باشید ، یه متد هم داشته باشید که کار  ثبت نقش رو انجام بده و …

 

و طبیعتا یه Store دارید که User فعلی رو نگهداری میکنه و Role های یوزر رو هم همون جا نگهداری میکنید

متد عمومی هم هون متد ای که توی پروژه فروشگاه ساختیم رو استفاده میکنید ولی پسوند ts رو برمیدارید و  Type هارو هم پاک میکنید

برای ثبت پاسخ باید خود شوید

محبوب ترین مقالات