مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

javadkey

عضویت از 1394/07/11

mvc یا Entity Framework

  • شنبه 11 مهر 1394
  • 00:42
تشکر میکنم

با سلام.
یکی از اساتید ما در دانشگاه برای ما Entity framework رو تدریس کرد اما شنیدم که mvc بهتر است . از استاد سوال کرذم گفت mvc برنامه نویسی 3 لایه نیست . نمیدونم آیا واقعا اینطوریه یا نه ؟
حالا سوالم از دوستان اینه که من خودم mvc رو انتخاب کنم یا Entity Framework را ؟ کدام بهتر است ؟ مزایا ؟
با تشکر

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • شنبه 11 مهر 1394
  • 09:17

این دو مورد با هم قابل مقایسه نیستند . MVC تکنولوژی برنامه نویسی تحت وب است مانند ASP .NET WebForms  ولی EF تکنولوژی توسعه یافته ADO .Net است و جهت برقراری ارتباط با دیتابیس مورد استفاده قرار می گیرد.

درباره Entity Framwork

درباره MVC

کاربر سایت

اصغر

عضویت از 1394/03/16

  • شنبه 11 مهر 1394
  • 09:23

سلام 
دوست عزیز MVC یک معماری برای توسعه نرم افزار و به طور فراگیر توسعه نرم افزار های تحت وب است ، MVC به دلیل اینکه یک معماری هست منحصر به زبانی خاص نیست ، شما ممکنه با C# و یا با Php و یا هر زبان دیگه نرم افزار های تحت معماری MVC بنویسید ، و در واقع MVC همان معماری سه لایه است.

در مورد EntityFramework باید بگم که یک ORM محصوب میشه و مرتبط به مباحث ارتباط با پایگاه داده است ، EntityFramework مثل ORM هایبرنیت که برای جاوا است ، منحصرا برای مایکروسافت هست.

MVC و EntityFramework کاملا مباحث مجزایی هستند که نتنها در مقابل هم هستند بلکه خیلی هم به هم کمک می کنند.

کاربر سایت

javadkey

عضویت از 1394/07/11

  • شنبه 11 مهر 1394
  • 11:18

ما در دانشگاه در برنامه 3 project ایجاد میکردیم : 1- لایه طراحی 2- لایه مدل 3- لایه کد بود که استاد میگفت سه لایه رفرنس هر کدام در در دیگری تعریف میکردیم و از mvc استفاده نمیکردیم و ققط entity framework بود. اما من که در اینترنت search کردم به این سبک که ما برنامه نویسی میکردیم خیلی کم بود و ولی مطالبmvc زیاده. به نظرتون کدام سبک را برای کار انتخاب کنم؟ مزایا هر کدام چیست ؟

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • شنبه 11 مهر 1394
  • 11:35

برنامه نویسی سه لایه زمانی کاربرد زیادی دارد که یک تیم چند نفر روی یک پروژه کار می کنند و به این شکل هر فرد یا گروه می تواند روی بخش جداگانه کار کندو از بخش های دیگر که توسط اعضای دیگر نوشته می شود استفاده کند. این روش یک مقدار پیچیدگی خود را دارد و احتیاج به یک مدیر برای مدیریت این پروژه است.

ولی در برنامه نویسی که تمامی قسمت ها داخل یک لایه نوشته می شود دسترسی ها ساده تر و پروژه برای انجام کار توسط یک نفر پیچیده نمی باشد.

کاربر سایت

javadkey

عضویت از 1394/07/11

  • شنبه 11 مهر 1394
  • 12:08

آقای باقرزاده ممنون از راهنمایی شما

آیا در امنیت سه لایه بودن تاثیری دارد؟

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • شنبه 11 مهر 1394
  • 12:53

زمان استفاده از پروژه نهایی تفاوتی وجود ندارد زیرا تمامی پروژه بصورت یک فلدر publish شده خروجی داده می شود و روی سرور قرار می گیرد ولی بین اعضای تیم می تواند امنیت کد ها مطرح شود برای مثال زمانی که شما بروی لایه DataAccess کار می کنید دیگر اعضای تیم که بروی لایه Bussiness کار میکند، تنها از فایل dll شما استفاده می کنند و می توانید دسترسی آنها را به کد خود بگیرید.

کاربر سایت

javadkey

عضویت از 1394/07/11

  • شنبه 11 مهر 1394
  • 13:41

با تشکر از راهنمایی شما

کاربر سایت

ehsabd

عضویت از 1394/06/15

  • شنبه 18 مهر 1394
  • 11:13

هنگامی که از MVC صحبت می کنیم، منظور جدا کردن لایه های Model، View، و Controller از یکدیگر است. این جدا کردن هم می تواند در یک پروژه باشد، همان طور که قالب های اصلی Visual Studio در پروژه MVC آن ها را قرار می دهد و هم در پروژه های مجزا که به هم رفرنس می شوند و حتی می توان در دو پروژه مجزای API و FrontEnd این لایه ها را به کار گرفت. یعنی API شامل Model های داده و API Controllers، و FrontEnd شامل ViewModel ها و Controller ها و View ها. بنابراین روشی که استاد شما به شما یاد داده است در جای خودش می تواند روش خوبی باشد. اما در مورد Entity Framework، کاربرد آن بیش تر در بخش Model است که شما Entity ها را تعریف می کنید و این ORM کاری که می کند این است که به شما کمک می کند در بخش Model نیازی نباشد کلی کد برای ارتباط با پایگاه داده یا ایجاد جداول در آن بنویسید. پس اگر بخواهیم نگاهی دوباره به کاری که شما می کردید بکنیم، هرچند شما از قالب از پیش تعریف شده مایکروسافت برای MVC استفاده نمی کردید ولی شما معماری MVC را مورد استفاده قرار دادید. جداسازی این بخش ها از دیدگاه امنیتی می تواند از این جهت مهم باشد که افرادی که در تیم برنامه نویسی شما روی بخش View کار می کنند، دسترسی به بخش داده ها نداشته باشند و این مهم است چون شما می توانید از افرادی در طراحی UI خود استفاده کنید که به آن ها اعتماد کافی ندارید مثلا می توانید از فریلنسر ها استفاده کنید.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)