نمایش نتایج 1 تا 8 از 8

نام تاپیک: برنامه نویسی چند لایه چیست و چرا چند لایه

  1. #1
    کاربر دائمی آواتار morteza_carefree
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    رو به غروب CPU
    پست
    144

    Smile برنامه نویسی چند لایه چیست و چرا چند لایه

    سلام دوستان من خیلی راجب این نوع برنامه نویسی اطلاع ندارم میشه راهنمای کنید که چرا چند لایه بهتره و چگونه بدونیم برنامه رو باید چند لایه بنویسیم

  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1388
    محل زندگی
    رامسر
    پست
    565

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    سلام
    در همین سایت اگر جستجو کنید، کلی تعریف و توضیح در این مورد پیدا می کنید

  3. #3
    کاربر دائمی آواتار water_lily_2012
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    اصفهان
    پست
    659

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    چند لایه منظور استفاده از کلاس ها می باشد.
    یک کلاس برای ارتباط با بانک اطلاعاتی
    یک کلاس رابط بین برنامه و کلاس بانک
    و خود محیط برنامه

    کمترین کد در خود برنامه هست و معمولا بیشتر کلاس ها در رابط تعریف میشه و همچنین صحت اطلاعات نیز در این لایه بررسی می شود.
    کلاس پایگاه داده هم کد های ارتباط با پایگاه داده مثل ExecuteReader , ExecuteScaler , ExecuteNoneQuery و ...

  4. #4
    کاربر دائمی
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    تهران
    پست
    197

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

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

  5. #5

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    برنامه نویسی چند لایه قسمت اول : مقدمه (n-tierd Programming) پیش نیاز این سری مقالات :
    1. برنامه نویسی شی گرا
    2. کار با پایگاه داده Ado.NET

    خیلی از ما در مورد برنامه نویسی چند لایه بارها و بارها شنیده ایم ، بعضی از ما درست یا غلط از آن استفاده می کنیم و برخی هیچ گاه از آن استفاده نکرده ایم . در این سری مقالات تلاش بنده این است که به صورت ملموس تجربیان شخصی خود را در مورد برنامه نویسی چند لایه در اختیار دوستان قرار دهم می دانم در ابتدای امر چندین سوال در ذهن شما مطرح شده است ، برای همین به برخی از مهمترین سوالات می پردازم :
    • منظور از لایه در برنامه نویسی چیست ؟

    برای پاسخ به این سوال یک پروژه تحت وب را در نظر بگیرید ، در این پروژه شما قرار است یک عملیات بانک اطلاعاتی مانند درج و به روز رسانی و دریافت اطلاعات را انجام دهید ، شما میتوانید تمامی کد های مربوط به این عملیات را در یک صفحه (CodeBehind) بنویسید یا میتوانید این عملیات را به چند بخش تقسیم کرده و آنها را بر مبنای خاصی دسته بنده کنید ، این مبنا را لایه می نامیم . حال سوال این است که مبنای دسته بندی چیست و این دسته بندی به چه صورت انجام میشود ؟ شما باید بدانید که یک روش ثابت برای دسته بندی وجود ندارد ولی برنامه نویسان و توسعه دهندگان طی تجربه به این نتیجه رسیده اند که یک پروژه را به سه یا چهار یا... لایه تقسیم کنند ، لایه اول Presention Layer یا User Interface نام دارد ، این لایه نهایی ترین لایه است و در دسترس کاربر نهایی قرار می گیرد ، کمترین کد در این لایه نوشته می شود (مثلا Default.aspx و Default.aspx.cs جزئی از این لایه هستند) لابه دیگری به نام Data Access Layer (یا DAL) وجود دارد ، این لایه ارتباط با دیتابیس را برقرار می کند ، تمامی کد های مربوط به عملیات بانک اطلاعاتی (دریافت ، درج ، حذف و به روز رسانی و...) و کد های مربوط به ارتباط و قطع ارتباط در این لایه پیاده سازی می شود .لایه ای به نام Bussiness Logic Layer نیز وجود دارد که بین DAL و UI قرار میگیرد ، این لایه وظایف متعددی را میتواند ایفا کند ، چک کردن شرط ها ، برخی اعتبار سنجی ها ، فراخوانی متدهای DAL و همچنین OR Mapping (مپ کردن فیلدهای بانک اطلاعاتی به کلاس) و .... از را می توان از وظایف این لایه نام برد . لایه دیگری نیز میتوان به لایه های فوق اضافه کرد ، Cache Layer لایه ذخیره اطلاعات در حافظه کش است ، همانطور که میدانید کش از حافظه کوتاه مدت استفاده می کند بنابراین بسیار سریعتر از دیتابیس( که بر روی هارد دیسک ذخیره می شود ) قابل دسترسی است . برخی اطلاعات پر استفاده که نیازی ندارد به روز باشند را میتوان در کش ذخیره کرد . این لایه بین BLL و UI قرار میگرد تا UI به جای استفاده از اطلاعات تازه از کش اطلاعات را واکشی نماید . میتوان لایه های دیگری را نیز بر حسب نیاز اضافه کرد و یا از برخی لایه های فوق استفاده نکرد ، هیچ الزامی وجود ندارد . برخی از افراد خود دیتابیس را هم یک لایه در نظر میگیرند و برخی خیر ، بنابراین اگر اسمی از برنامه نویسی سه لایه یا چهارلایه یا پنج لایه به گوش شما خورد بدانید که به کمی توضیح بیشتر نیاز دارد معمول ترین روش برنامه نویسی چند لایه برنامه نویسی سه لایه ( 3tierd ) است » UI , BLL , DAL
    • چه نیازی به لایه بندی پروژه است ؟

    شرکتی را در نظر بگیرید که 40 کارمند دارد ، این شرکت میتواند یک آپاراتمان 200 متری را اجاره کرده و تمام کارمندان خود را در این واحد مستقر کند . با این کار همه کارمندان واحد های مختلف (بازرگانی ، اداری ، مالی ، فنی و...) در کنار هم خواهند بود ، هم همه ، ازدحام رفت و آمد مشتری و.... از ابتدایی ترین مشکلات این روش خواهد بود . اما این شرکت میتواند 3 طبقه 80 متری تهیه کند و واحد های مختلف را در طبقات مختلف مستقر نماید ، با این کار شاید شرکت هزینه بیشتری را متقبل شود و دسترسی واحد ها به یکدیگر به سادگی قبل نباشد ولی در عوض آرامش ، افزایش بازدهی کار ، برقرار شدن نظم و سکوت ، رضایت مشتری و.... از نتایج آن خواهد بود . کد نویسی هم از این قاعده مستثنی نیست ، در حقیقت با این کار هر قطعه کد در سر جای خود قرار می گیرد . علاوه بر نظم دهی به کد نویسی و خوانا شدن کد ، روش های چند لایه مزایای دیگری نیز دارند :
    • هر لایه در نهایت به Dll تبدیل شده و مجزا می شود بنابراین قابلیت استفاده از هر لایه در پروژهای مختلف یا حتی چند پروژه در آن واحد (مثلا پنل مدیریت و نمایه یک وب سایت به صورت اشتراکی از لایه BLL و DAL استفاده می کنند ) را در اختیار توسعه دهنده قرار می دهد .
    • جداشدن لایه ها و تمیز شدن کد ها به تیم برنامه نویس کمک می کند که بتوانند در کنار هم راحت تر کار کنند
    • در هنگام تغییر بانک اطلاعاتی کل پروژه تحت الشعاع قرار نمی گیرد و تغییرات فقط در لایه ارتباط با بانک اطلاعاتی اعمال می شود .
    • روند خطا یابی (Debuging) تسهیل می گردد
    • برنامه نویسی شی گرا OOP در روش چند لایه نمود پیدا کرده و قابل پیاده سازی می گردد
    • از تکرار کد در صفحات مختلف جلوگیری می شود .
    • کامپایل شدن و بارگذاری پروژه بسیار ساده تر خواهد شد .
    • احتمال بروز خطای انسانی در هنگامی کد نویسی به حداقل کاهش می یابد .

    و...
    • لایه بندی پروژه در سرعت توسعه پروژه و همچنین سرعت لود شدن صفحات چه تاثیری دارد ؟

    در هنگام لایه بندی پروژه به ویژه در دفعات اول به نظر می رسد که از سرعت توسعه و پیشرفت پروژه کاسته می شود ولی واقعیت این است که این کار با نظم دهی در کار ها و سهولت خطا زدایی سرعت شما را موارد بسیاری افزایش خواهد داد . میتوان گفت تاثیری خاصی در بارگذاری صفحات ندارد مگر اینکه از لایه CL یا Cache Layer استفاده کنید که این کار مسلما باعث افزایش سرعت و بازدهی پروژه شما خواهد شد .

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    سلام
    متاسفانه به بعضی از مزایای مهم و جالب برنامه نویسی چند لایه اشاره نشد.

    تصور کنید نرم‌افزار بزرگ و جامعی نوشتین. و می‌خواین این نرم‌افزار در ابعاد و حالت‌های مختلف قابل فروش باشه.
    مهم‌ترین و کلیدی‌ترین بخش نرم‌افزار قسمت Business اون هست که تفاوت مهم رو بین نرم‌افزارهای هم رده ایجاد می‌کنه.
    اما برای فروش باید به سطح نگهداری داده‌ها و واسط کاربر توجه ویژه‌ای بشه.
    فرض کنید نرم‌افزار رو با دیتابیس Sql و WinForm نوشتین.
    یه مشتری مهم میاد می‌گه من همین رو با Oracle و WPF می‌خوام.
    یه مشتری دیگه هم ممکنه همین رو با MySql و تحت وب بخواد.
    آیا باید تمام نرم‌افزار از نو نوشته بشه؟

    تو برنامه نویسی چند لایه این امکان فراهم می‌شه که با تغییر لایه‌ها بتونیم یه نرم‌افزار رو در حالت‌های متفاوت ارائه بدیم.
    برای لایه‌ی ‌UI کافیه یه پروژه‌ی جدید ایجاد کنیم و همون کارها رو توی WPF انجام بدیم. که بخش کوچکی از کل پروژه بازنویسی
    می‌شه و به صورت هم‌زمان دو پروژه‌ی WinForm و WPF رو خواهیم داشت.

    یک نکته‌ی دیگه تو تفاوت توانمندی‌های برنامه‌نویسان هست. یه نفر متخصص WinForm هست، یکی دیگه WPF و دیگری Web کار خوبی هست.
    اما دلیل نمی‌شه که این افراد Business رو بتونن به خوبی پیاده کنن، پس تو پروژه‌های بزرگ می‌تونیم افراد متفاوتی رو با قابلیت‌های
    خاص خودشون در جای مناسب به کار ببریم. و نیازی نیست که چند نفر با «تمام قابلیت‌ها» پیدا کنیم که هر کدوم بتونن تمام کارهای متفاوت
    یک پروژه رو انجام بدن.

    صبا صبوحی

  7. #7

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    سلام.
    برای نوشن برنامه به روش سه لایه آیا باید لایه ها کلاس باشن یا اینکه پروژه؟کدوم بهتره ؟
    و سوال دوم اینکه این روش فقط برای برنامه های تحت وب استفاده میشه؟ مثلا من هرچی گشتم آموزشی به زبان C++‎ ندیدم(البته من میدونم که با C++‎هم میشه تحت وب نوشت اما خیلی استفاده نمیشه گمونم)
    و سوال سوم من طی مطالبی که خوندم این روش باعث بالا بردن امنیت هم میشه میخام بدونم دقیقا چجوری؟ لطفا اگه کسی اطلاعاتی در این زمینه داره بهم کمک کنه

  8. #8
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: برنامه نویسی چند لایه چیست و چرا چند لایه

    سلام
    وقتی بحث چند لایه بودن پیش میاد یعنی برنامه متشکل شده از چند پروژه بهمراه کلاس لایبراری هایی که توی این پروژه ها تعریف میشن
    و اگر در بعد وسیع تر و کلان به برنامه چند لایه نگاه کنیم در برخی موارد حتی این پروژه ها ممکنه هرکدام بر روی یک سرور جداگانه نصب شوند و در نهایت یه سرویس دهنده اصلی سرویس هایی ارائه دهند
    برخی از برنامه نویسان یک پروژه میسازند و درون این پروژه کلاسهایی با عنوان DataLayer و BussinessLayer و غیره میسازند و اسمشو برنامه نویسی چند لایه میگذارند که صحیح نیست

    برنامه چند لایه پلتفرم خاصی نداره و شامل هر گونه برنامه ای میشه منجمله وب اپلیکیشن و موبایل و ویندوز
    در مورد سوال سوم زیاد مهم نیست و لایه بندی در امنیت برنامه تاثیری نداره
    مکانیزم سیستم شما مهم هست که چگونه امن شده باشه

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •