تفاوت بین DTO، اینترفیس ها و Schema  در nestjs چیست؟

تفاوت بین DTO، اینترفیس ها و Schema در nestjs چیست؟

تفاوت بین DTO، اینترفیس ها و Schema  در nestjs چیست؟
Dto، اینترفیس ها و Schema فقط مختص Nestjs نیستند.
 
DTO
برای اعتبارسنجی ورودی ها استفاده می‌شود. شما می‌توانید از دکوراتورها در dto استفاده کنید تا بتوانید درخواست‌ها را  validate کنید.
مثال: شما داده‌هایی را برای مسیر ثبت‌نام می‌خواهید که در Body ارسال می‌شود. سپس می توانید از DTO برای فیلتر کردن فقط اطلاعات مورد نیاز و حذف بقیه استفاده کنید.
 

Schema یک مفهوم Mongo هستند و برای فعال کردن خواندن و نوشتن از پایگاه داده مورد نیاز هستند. Schema نحوه تعریف موجودیت ها، روابط و غیره در یک پایگاه داده است. یک Schema می تواند چندین جدول داشته باشد و روابط زیادی مانند OneToMany، ManyToOne، ManyToMany داشته باشد.

Interface ها برای بررسی type و تعریف انواع داده هایی که می توانند به یک کنترل کننده یا یک سرویس Nest ارسال شوند، استفاده می شود. وقتی می‌خواهید امنیت زمان کامپایل را در کدی که دارید، اعمال کنید،آنها  بسیار مفید خواهند بود. هنگامی که در لایه سرویس قرار گرفتید، اگر به decorator نیاز ندارید، همیشه می توانید برای ارتقای ایمنی نوع به سراغ Interface ها یا type ها بروید.

DTO :   برای اعتبارسنجی ورودی ها استفاده می شود.
Schema/DB : در لایه service برای  تعاملات پایگاه داده جدا از controller استفاده می شود.
Interfaces/Types : برای همه کدهای lib که به دکوراتور نیاز ندارند، استفاده می شود.
نویسنده :
مجید پورداود
  • مجید پورداود
  • مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter)  و زبان جاوا اسکریپت (فریم ورک express.js-nest.js)  تسلط دارم.  

ثبت دیدگاه جدید

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *