چرا از ORM استفاده می کنیم ؟

یکشنبه 20 مرداد 1392

چرا از ORM استفاده می کنیم ؟ <br/> چرا باید از از ابزارهای Object Relational Mapper استفاهد کنیم ؟ اجازه دهید از تعریف آن شروع کنیم . ابزار های ORM ابتدا شروع به خواندن ساختار دیتابیس می کنند و از سپس شروع به ایجاد کلاس هایی بر اساس ساختار دیتابیس می نمایند .

چرا از ORM استفاده می کنیم ؟

چرا باید از از ابزارهای Object Relational Mapper استفاهد کنیم ؟  اجازه دهید از تعریف آن شروع کنیم . ابزار های ORM ابتدا شروع به خواندن ساختار دیتابیس می کنند و از سپس شروع به ایجاد کلاس هایی بر اساس ساختار دیتابیس می نمایند .

نکته بسیار مهم این است که ابزار های زیادی برای این کار وجود داردمانند Entity Frmaework و NHibernate  تفاوتی ندارد که شما از کدام یک از این ها استفاده خواهید کرد به دلیل اینکه وظیفه اصلی همه این ابزار ها تولید کلاس از روی ساختار دیتابیس می باشد .

۵ دلیل عمده برای استفاده از ORM ها ؟

۱) یک ابزار ORM زمان تحویل پروژه را کاهش می دهد

اولین و مهم‌ترین دلیلی که بر اساس آن در یک پروژه، استفاده از ORM حائز اهمیت می‌شود، بحث بالا بردن سرعت برنامه نویسی و کاهش زمان تحویل پروژه به مشتری است. این کاهش زمان بسته به نوع پروژه بین ۲۰ تا ۵۰ درصد می‌تواند خود را بروز دهد.
بدیهی است ابزارهای ORM کار شگفت انگیزی را قرار نیست انجام دهند و شما می‌توانید تمام آن عملیات ‌را دستی هم به پایان رسانید؛ اما اجازه دهید یک مثال کوتاه را با هم مرور کنیم.
برای پیاده سازی یک برنامه متداول با حدود ۱۵ تا ۲۰ جدول، حدودا به ۳۰ شیء برای مدل سازی سیستم نیاز خواهد بود و برنامه نویسی این مجموعه بین ۵۰۰۰ تا ۱۰۰۰۰ سطر کد را به خود اختصاص خواهد داد. بدیهی است برنامه نویسی و آزمایش این سیستم چندین هفته یا ماه به طول خواهد انجامید.
اما با استفاده از یک ORM ، عمده وقت شما به طراحی سیستم و ایجاد ارتباطات بین اشیاء و دیتابیس در طی یک تا دو روز صرف خواهد شد. ایجاد کد بر اساس این مجموعه و با کمک ابزارهای ORM ، آنی است و با چند کلیک صورت می‌گیرد.
۲)یک ابزار ORM کدی با طراحی بهتر تولید می کند .
ممکن است شما بگوئید که کد نویسی من بی‌نظیر است و از من بهتر کسی را نمی‌توانید پیدا کنید! به تمامی زوایای کار خود مسلطم و نیازی هم به این‌گونه ابزارها ندارم!
عده‌ای از شما به طور قطع این‌گونه‌اید؛ اما نه همه. در یک تیم متوسط، همه نوع برنامه نویس با سطوح مختلفی را می‌توانید پیدا کنید و تمامی ‌‌آن‌ها برنامه نویس‌ها و یا طراح‌های آنچنان قابلی هم نیستند. بنابراین امکان رسیدن به کدهایی که مطابق اصول دقیق برنامه نویسی شیء گرا  نیستند و در آن‌ها الگوهای طراحی به خوبی رعایت نشده، بسیار محتمل است. همچنین در یک تیم زمانیکه از یک الگوی یکسان پیروی نمی‌شود، نتایج نهایی بسیار ناهماهنگ خواهند بود.
در مقابل استفاده از ORM های طراحی شده توسط برنامه نویس‌های قابل (senior (architect level) engineers) ، کدهایی را بر اساس الگوهای استاندارد و پذیرفته شده‌ی شیء‌گرا تولید می‌کنند و همواره یک روند کاری مشخص و هماهنگ را در یک مجموعه به ارمغان خواهند آورد.

۳) نیازی نیست تا حتما یک متخصص دات نت باشی تا از ORM استفاده کنی .

قسمت دسترسی به داده‌ها یکی از اجزای کلیدی کارآیی برنامه شما است. اگر طراحی و پیاده سازی آن ضعیف باشد، کل برنامه را زیر سؤال خواهد برد. برای طراحی و پیاده سازی دستی این قسمت از کار باید به قسمت‌های بسیاری از مجموعه‌ی دات نت فریم ورک مسلط بود. اما هنگام استفاده از یک ORM مهمترین موردی را که باید به آن تمرکز نمائید بحث طراحی منطقی کار است و ایجاد روابط بین اشیاء و دیتابیس و امثال آن. مابقی موارد توسط ORM انجام خواهد شد و همچنین می‌توان مطمئن بود که پیاده سازی خودکار انجام شده این قسمت‌ها، بر اساس الگوهای طراحی شیء‌گرا است.

۴)هنگام استفاده از یک ORM زمان تست و آزمایش برنامه کاهش پیدا می کند .

بدیهی است اگر قسمت دسترسی به داده‌ها را خودتان طراحی و پیاده سازی کرده باشید، زمان قابل توجهی را نیز باید به بررسی و آزمایش صحت عملکرد آن بپردازید و الزامی هم ندارد که این پیاده سازی مطابق بهترین تجربیات کاری موجود بوده باشد. اما هنگام استفاده از کدهای تولید شده توسط یک ابزار ORM می‌توان مطمئن بود که کدهای تولیدی آن که بر اساس یک سری الگوی ویژه تولید می‌شوند، کاملا آزمایش شده هستند و همچنین صدها و یا هزارها نفر در دنیا هم اکنون دارند از این پایه در پروژه‌های موفق خود استفاده می‌کنند و همچنین بازخوردهای خود را نیز به تیم برنامه نویسی آن ابزار ORM ارائه می‌دهند و این مجموعه مرتبا در حال بهبود و به روز شدن است.

۵) استفاده از یک ابزار ORM کار برنامه نویسی را راحت تر می کند .

برای توزیح این قسمت به کدزیر توجه فرمایید .

ایمان مدائنی

نویسنده 1299 مقاله در برنامه نویسان
  • C#.net
  • 5k بازدید
  • 7 تشکر

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

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید