ورود

View Full Version : جایگاه Entity Framework در معماری 3 لایه



reza344
چهارشنبه 09 شهریور 1390, 20:37 عصر
اگر تا به حال با برنامه نویسی سه لایه سرو کار داشتید و با آن برنامه نوشته اید حتما می دانید که این معماری از سه لایه
1- Data access layer
2- Business layer
3- Presentation layer
تشکیل شده است سوالی که مطرح می شود این است که جایگاه EDM در این معماری کدام لایه است شکل زیر تصویری بسیار گویا است که این جایگاه را به خوبی در لایه data نشان می دهد.


http://s1.picofile.com/file/6909146876/3layer.jpg



منبع (http://alaasabzpoush.blogsky.com/1390/04/14/post-88/)

hjran abdpor
چهارشنبه 09 شهریور 1390, 23:08 عصر
با سلام .
با تشکر از دوست عزیز به خاطر مطلب خوبتون که گذاشتید .
به نظر من اقای راد کتاب خیلی جالبی در این زمینه نوشتند که متاسفا با فروش زیاد گیر من نیومد .

حالا دو سه تا سوال داشتم :
این Entity Framework چیست !!!!!!!!!
فقط تو پروژهای سه لایه مورد استفاد ه قرار میگره ؟؟؟؟؟؟؟
چه فرقی با ADo.net داره ؟ Ado پرسرعت است یا این تکنولوژی ؟؟

مرسی

reza344
پنج شنبه 10 شهریور 1390, 01:11 صبح
برای آنکه متوجه شویم که Entity Framework واقعا چیست و چرا مهم است نیاز است تا کمی به عقب بازگشته و برای دسترسی به داده ها نگاهی به برخی از تکنولوژی های موجود اندازیم.
مایکروسافت در سالهای گذشته زمان و تلاش زیادی را برای توسعه Ado.Net صرف کرد که پیش از آن از تکنولوژی DAO و سپس از RDO استفاده میشد . با معرفی ADO.NET توسعه گران احساس کردند که مایکروسافت در نهایت در تکنولوژی دسترسی به داده به ثباتی رسیده است .
با افزایش قابلیت های ADO.NET که در هر نسخه از NET. شاهد آن بودیم Ado.Net یک تکنولوژی رو به جلو برای دسترسی به داده ها محسوب میشد. کلاسهایی نظیر DataReader و DataSet تا چندین سال انتخاب اصلی توسعه گران برای دسترسی به داده ها بودند .
با تمام تلاشهایی که برای افزایش قابلیت های Ado.Net صورت میگرفت ، شکافی همچنان بین برنامه و پایگاه داده وجود داشت. اگر تغییراتی در پایگاه داده ایجاد میشد زمان زیادی باید صرف تطبیق کد های برنامه با تغییرات جدید میشد .
نیازی که در اینجا احساس میشود ، یکپارچگی پایگاه داده ،برنامه و داده هاست . و این دقیقا چیزیست که Entity Framework برای ما به ارمغان می آورد . Entity Framework با ارائه یک مدل مفهومی که با پایگاه داده و برنامه کار میکند شکاف میان پایگاه و برنامه را که به برنامه نویس در حالتی که با کلاسهایی همچون DataReader و DataSet کار میکند تحمیل میشود از بین میبرد .
پس در واقع Entity Framework مجموعه ای از تکنولوژی هایی در ADO.NET است که به از بین بردن شکاف میان توسعه شی گرا و پایگاه های داده کمک میکند.

به نقل از کتاب : مرجع کامل Entity Framework 4.1 (http://barnamenevis.org/showthread.php?298531-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D9%BE%D8%A7%D8%B1%D8%B3%DB%8C-%D9%85%D8%B1%D8%AC%D8%B9-%DA%A9%D8%A7%D9%85%D9%84-Entity-Framework-4.1)
ترجمه و تالیف مهندس بهروز راد

امیدوارم بتونی این کتاب مفید رو تهیه کنی
موفق باشی

nasinas
دوشنبه 19 دی 1390, 21:57 عصر
اگر تا به حال با برنامه نویسی سه لایه سرو کار داشتید و با آن برنامه نوشته اید حتما می دانید که این معماری از سه لایه
1- Data access layer
2- Business layer
3- Presentation layer
تشکیل شده است سوالی که مطرح می شود این است که جایگاه EDM در این معماری کدام لایه است شکل زیر تصویری بسیار گویا است که این جایگاه را به خوبی در لایه data نشان می دهد.


http://s1.picofile.com/file/6909146876/3layer.jpg



منبع (http://alaasabzpoush.blogsky.com/1390/04/14/post-88/)


درود به شما
میدونم خیلی از تاریخ پست گذشته اما امیدوارم پاسخ داده بشه :

سوال اینه که من باید لایه تجاری یا همون بزینس رو باید از سرویس ها تشکیل بدم؟
یعنی لایه بزینس(Business layer) تشکیل بشه از سرویس هایی که ارتباط بین (لایه نمایش و لایه داده ها) رو تشکیل بده؟

Saman Hashemi
سه شنبه 20 دی 1390, 07:35 صبح
اگر از سرویس ها استفاده کنید میتونید برنامه توزیع کنید و بر روی چند سرور قرار بدید که این کمک زیادی به شما میکنه در سایت و برنامه بزرگ و مسئله بعدی اینه که به راحتی میتونید برنامه تون در قسمت UI به نوع های مختلف تبدیل کنید مثلا تحت وب باشه یا تحت ویندوز یا استفاده از زبانهای برنامه نویسی دیگری مثل آندروید...!
اما در استفاده از این سرویس ها اجباری در کار نیست و میتونید به شیوه سابق و از کلاس استفاده کنید...!