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

نمایش نتایج: از شماره 1 تا 7 از مجموع 7
  1. #1
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    محل سکونت
    کنار دریای شمال
    ارسال ها
    10
    تشکر
    62
    تشکر شده 33 بار در 9 پست


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

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

    سلام به همه دوستان. من یه پیشنهاد دارم. با توجه به اهمیت برنامه نویسی شی گرا (چرا که به گفته یکی از اساتید برنامه نویس های شی گرا برنامه نویسای گرونی هستن)فکر می کنم
    یاد گیری معماری چند لایه می تونه زمینه خوبی برای اون باشه.
    ممکنه خیلی ها با این معماری آشنا باشن اما بعضی ها مثل من با اون کار نکرده باشن. پیشنهاد من اینه که اگر یکی از دوستان تو این زمینه تجربه ای داره لطف کنه
    همکاری کنه یه برنامه ساده ارائه بده به صورت قدم به قدم(مثلا تو هر لایه) تا بقیه انجام بدن و اگه سوالی دارن همینجا مطرح کنن. به این شکل درک چگونگی لایه ها راحت تر میشه. حالا برای خالی نبودن عریضه یه توضیح اولیه و کلی گذاشتم.
    تو معماری چند لایه کل برنامه به چندین بخش تقسیم می شه که این بخش ها می تونن فیزیکی یا منطقی باشن و هر بخش کار خاصی رو انجام می ده.تو معماری 3 لایه که متداوله برنامه ها سه لایه مجزا دارن که عبارتند از :

    • Presentation Layer لایه نمایش
    • BLL)Business Logic Layer) لایه منطقی یا تجاری
    • DAL)Data Access Layer ) لایه دسترسی به داده

    لایه DAL داده های مورد نظر رو بازیابی می کنه و از طیق BLL اون ها رو به لایه نمایش می فرسته.و به عکس کاربر داده ها رو از طریق لایه نمایش تغییر می ده( مثل اضافه یا به روز کردن داده ها )و BLL داده ها رو اعتبار سنجی می کنه و اگر داده ها معتبر باشن اون ها رو به DAL می سپاره.
    مزیت های این کار اینه که برنامه ها به چند بخش منطقی جدا از هم تقسیم می شن و اتصال بین لایه ها کم میشه و به این شکل تغییر در در هر لایه خللی به لایه های دیگه وارد نمی کنه و تغییر یا گسترش برنامه بدون نیاز به تغییر یا کامپایل مجدد برنامه کلاینت ساده تر میشه. همینطور اگه بخوایم یه برنامه تحت ویندوز رو به برنامه تحت وب تبدیل کنیم تنها لایه نمایش عوض میشه. یا اگه بخوایم دیتابیس رو از SQLServer ببریم روی Access یا برعکس، فقط لایه DAL عوض میشه. ضمن اینکه برنامه کلاینت نمی فهمه که داده ها از کجا اومدن (location transparency).
    فایده دیگش اینه که تو کارهای تیمی، تیم ها یا افراد مستقل میتونن روی لایه های متفاوت به صورت موازی کار کنن بدون اینکه از لایه های دیگه اطلاع داشته باشن.
    همینطور ازمهمترین مزیت هایی که لایه ای کردن پروژه میتونه داشته باشه افزایش امنیت داده های برنامه است.
    اما نکته قابل توجه اینه که توی سیستم لایه بندی یه لایه نباید لایه بالای سر خودش رو صدا بزنه، همیشه ارتباط از بالا به پایینه و نه از پایین به بالا. مثلا BLL نمیتونه یه تابع از لایه نمایش رو فراخوانی کنه یا تغییری در اون ایجاد کنه .


    موضوعات مشابه:

  2. #2
    کاربر عادی
    تاریخ عضویت
    2011 May
    محل سکونت
    تهران
    ارسال ها
    316
    تشکر
    37
    تشکر شده 688 بار در 303 پست
    نوشته های وبلاگ
    39


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام

    با چه زبانی قصد دارین کار کنین؟

    یک مثال ساده از لایه دوم و سومتون بگم(لایه اول واضحه):

    BLL: هسته برنامه رو شامل میشه(کدها ، کلاس ها و امکانات برنامه)
    DAL: مربوط به وصل شدن به پایگاهتون، select ، insert و update و .... که میخواین روی دیتاهاتون انجام بدین

    یعنی در واقع bll یک واسط بین dal و لایه اول هست .

    http://payline.ir

    http://flynet.ir

    the poor people are often the most generous

  3. #3
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,308
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    من خودم شخصا بصورت کامل این مبحث رو نخوندم و آشنایی ندارم باهاش اما یادم میاد تو برنامه نویس یه تاپیک خیلی کاملی در این زمینه بود و دوستانی که بخوبی تو این زمینه کار میکردن اونجا نظراتشون رو عنوان میکردن و توضیحاتی میدادن .
    من چند تا مقاله در این رابطه بهتون میدم امیدوارم که بدردتون بخوره :

    البته اینم عنوان کنم که مباحث شی گرایی رو اگر بخوبی پیاده اش کنید نهایتا به همین جداسازی کارها در لایه های مختلف میرسید . نمونه اش هم یک پروژه ای بود که من برای دانشگاه علوم و فنون مازندران نوشتم . که از سه بخش مختلف تشکیل شده بود .
    1.بخش فرم ها و تشکیلات رابط کاربری
    2.بخش clsWorker که وظیفه لایه منطقی رو بازی میکرد
    و 3 بخش clsdb که درش کلاسها و متدهایی برای کار با دیتابیس وجود داشت .
    + کلاسهای دیگه ای (مثل Student, Employee ,...) که هر کدوم اعتبار سنجی های مورد نیازشون رو در خودشون داشتن که موقع استفاده دیگه نیازی به اعتبار سنجی چندگانه نباشه و...
    بگزریم . فقط میخواستم بگم اگر شما همون اصل اول شی گرایی یعنی کپسوله سازی رو رعایت کنید 80 90 درصد راه رو رفتید و اون 10 20 درصد دیگه با مطالعه بیشتر و آشنایی با چنین مفاهیمی محقق میشه .

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

    برنامه نویسی چند لایه قسمت اول : مقدمه (n-tierd Programming)





    برنامه نویسی چند لایه قسمت دوم : لایه ارتباط با پایگاه داده (Data Access Layer یا DAL)





    برنامه نویسی چند لایه قسمت سوم : لایه منطق تجاری (BLL یا Bussiness Logic Layer)



    برنامه نویسی چند لایه قسمت چهارم : لایه کش (CL یا Cache Layer)



    در آخر این لینک هم ببینید بد نیست : برنامه چند لایه چیست؟ ( هرچند به تفصیل مقاله هایی که ضمیمه کردم این موضوع رو توضیح دادن اما این هم بخاطر مختصر بودن خوبه ) .

    فایل های پیوست شده
    • نوع فایل: pdf www.i.pdf (284.4 کیلو بایت,  این فایل 60 بار دانلود شده است)
    • نوع فایل: pdf www.i.pdf (2.18 مگابایت ,  این فایل 59 بار دانلود شده است)
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  4. #4
    عضو تازه وارد
    تاریخ عضویت
    2012 November
    محل سکونت
    بابل
    ارسال ها
    3
    تشکر
    8
    تشکر شده 15 بار در 3 پست


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    به نام خدا
    مبحث معماری چند لایه میشه گفت یکی از پر کاربردترین استفاده هاش تخصیص و تفکیک وظایف در کار تیمی روی پروژه باشه یکی از بهترین معماری ها ، معماری MVC

    (Model–view–controller) هست :
    model : از 2 زیر لایه اصلی و یک فرعی تشکیل شده --> BL , DAO ,DTO
    data access object : وظیفه ارتباط با پایگاه را دارد
    data table object : این قسمت اختیاری هستش و وقتی که به طور مثال یک select روی DB زده میشه حاصل باید رویproperty های یک class بشینه و این کلاس به BL فرستاده بشه ( منطق ORM در ORDBMS)
    bl : وظیفه ارتباط با لایه controller را دارد تا متد های dao را فرا خوانی کند و یا مالیات را بر روی مقدار ورودی اعمال و بعد به dao برود

    controller : سه وظیفه اصلی دارد :
    1- mapping : انتقال کاربر ما بین صفحات یا frame ها
    2- validation : اعتبار سنجی
    3- bl connection: ارتباط با bl و فراخوانی متد مد نظر برای ارتباط با dao

    view : هر آنچه که کاربر میبیند .

    در آخر هم باید بگم که اینها تجربیات شخصی من از MVC هست و ممکن اشتباهاتی در اون باشه که ازین بابت از اساتید گرامی پوزش میطلبم



  5. #5
    کاربر عادی
    تاریخ عضویت
    2020 August
    ارسال ها
    55
    تشکر
    0
    تشکر شده 0 بار در 0 پست

  6. #6

  7. #7

 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

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


Powered by vBulletin
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 08:47 PM بر حسب GMT +4 می باشد.