PDA

View Full Version : سوال: معماری سه لایه با Entity Framework



Samtak
دوشنبه 25 اسفند 1393, 13:29 عصر
با سلام خدمت دوستان
من تازه شروع به درست کردن یک پروژه کردم و از اونجایی که جایی ندیدم معماری سه لایه رو با تکنولوژی Entity Framework به کار ببرنند (من ندیدم شاید باشه) خودم با توجه به معلومات خودم همچین کاری رو شروع کردم خواستم اگر زحمتی نیست لطفا نظراتتون رو بدید ببینم کارم درسته یا نه ؟

129488
توضیح اینکه برای لایه DAL یک class library درست کردم و درون اون Entity Framework گذاشتم و برای BLL هم فقط class library و رفرنسهای DAL رو تویی BLL فراخوانی کردم و توی UI رفرنسهای BLL رو



و سوال دیگه اینه که توی لایه BLL متدها رو باید چطور تعریف کنم مثلا یک متد برای Select منظورم اینه که نوعش باید چی باشه مثلا از IList<T> استفاده کنم و نوعش رو چطور برگشت بدم که توی لایه UI ازش استفاده کنم
اگر پروژه یا رفرنسی یا مقاله ای سراغ دارید معرفی کنید ممنون میشم

پیشا پیش تشکر دوستان

ali_md110
دوشنبه 25 اسفند 1393, 20:42 عصر
سلام
این چند لایه بودن و سایر معماریها یmulti layerیک پیشنهاد هست و حتمن ملزم به پیاده سازی ان دریک برنامه نیستیم بیشتر کاراییش برای توسعه نرم افزار به چشم میاد و توی پروژه های گروهی برنامه های چند لایه واقعی بدین صورت هست که اسمبلی ها و واحدهای مختلف یک برنامه بر روی سرورهای مختلف قرار بگیرند و بین هم تبادل اطلاعات کنند
لایه تجاری شما میشه همون کلاس DAL شما که کلاسهای ef درونش قرار داره و معمولا به Domain یا DataLayer نام گذاری میکنن
شما یک کلاس سرویس Service Layer نیاز دارید تا از لایه DAL رفرنس بگیره و از منابع ef استفاده کنه و دستورات را به لایه نمایش ارسال و از ان دریافت و تحویل لایه Dal بدهد

Samtak
چهارشنبه 27 اسفند 1393, 10:04 صبح
تشکر بابت پاسخ دهی
اگر لطفا کنید یک رفرنس یا مثالی رو معرفی کنید تا درست متوجه منظورتون بشم ممنون میشم

k1csharpdeveloper
یک شنبه 02 بهمن 1401, 17:49 عصر
BLL Business Logic Layer لایه منطق تجاری
DAL Data Access Layer لایه دیتابیس
لایه نمایش یا UI

علیرضا حسن زاده
یک شنبه 02 بهمن 1401, 20:01 عصر
سلام
کاری که Entityانجام میده در واقع همون دو لایه DAL و BLL هست DAL رو به صورت تقریبا کامل ایجاد میکنه و تغییرات زیادی معمولا نیاز نیست شما انجام بدی اما لایه BLL هم ایجاد شده ولی معمولا نیاز به تغییراتی داره که اونم بستگی به منطق تجاری که دارین هست که مثلا میخواین چه چیزهایی رو چک کنید
اگه وظایف لایه DAL‌رو بررسی کنید متوجه میشید که این فریمورک دقیقا همشو انجام داده و نیازی به جداسازی و ایجاد یه قسمت جدا برای این مورد ندارید و اما پیشنهادم اینه از این فریمورک بصورت CodeFirst استفاده کنید که دستتون باز تر هست و قدرت مانور بیشتری دارین وتا حدودی بیشتر متوجه میشید که لایه DAL و BLL‌رو طراحی کردین توسط همین فریمورک

NasimBamdad
پنج شنبه 06 بهمن 1401, 00:09 صبح
معماری کلین رو اجرا کنید بهتره ، یا آنیون ( پیازی)