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

نام تاپیک: تفاوت برنامه نویسی سه لایه با MVC در NET.

  1. #1

    تفاوت برنامه نویسی سه لایه با MVC در NET.

    من تاپیکی را در اینجا با موضوع "آیا برنامه نویسی به روش سه لایه، همون برنامه نویسی به الگوی MVC است؟" را ایجاد کردم و در آنجا پاسخ را هم دریافت کردم. اما در این تاپیک، تاکید من تفاوت این دو با هم در NET. هست.




  2. #2
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: تفاوت برنامه نویسی سه لایه با MVC در NET.

    سه لایه یک معماری است ولی MVC یک الگو است (َApplication Pattern) ... شما در قلب معماری سه لایه میتوانید از الگوی MVC استفاده کنید ... حال شاید برای شما سوال شود که الگوی MVC در کدام لایه قرار دارد؟!
    از دید معماری سه لایه، MVC در لایه ی presentation Layer قرار دارد . یعنی در معماری سه لایه UI را الگوی MVC تشکیل میدهد.

    سوال بعدی که ممکن است پیش بیاید این است که اگر MVC در لایه ی UI قرار میگیرد پس M که به معنای Model است چگونه توجیه میشود ؟!

    در تعریف MVC این گونه میگوییم که مدل چیزی است که کنترلر برای ویو میفرستد لذا ویو با آن سرکار دارد که به تعبیری Model همان ViewModel تعریف میشود . لذا با تعریف Data Model که در لایه ی DAL قرار دارد متفاوت است. مثلا شما ممکن است در ویو از 30 فیلد یک موجودیت در Data Model فقط 10 فیلد آن را نیاز داشته باشید که آن موجودیت با 10 فیلد Model شما خواهد بود که برخی برنامه نویسان آن را قسمت ViewModel می دانند.



    موفق باشید ...
    آخرین ویرایش به وسیله amir-yeketaz : سه شنبه 01 اسفند 1391 در 09:59 صبح

  3. #3

    نقل قول: تفاوت برنامه نویسی سه لایه با MVC در NET.

    نقل قول نوشته شده توسط amir-yeketaz مشاهده تاپیک
    سه لایه یک معماری است ولی MVC یک الگو است (َApplication Pattern) ... شما در قلب معماری سه لایه میتوانید از الگوی MVC استفاده کنید ... حال شاید برای شما سوال شود که الگوی MVC در کدام لایه قرار دارد؟!
    از دید معماری سه لایه، MVC در لایه ی representation Layer قرار دارد . یعنی در معماری سه لایه UI را الگوی MVC تشکیل میدهد.

    سوال بعدی که ممکن است پیش بیاید این است که اگر MVC در لایه ی UI قرار میگیرد پس M که به معنای Model است چگونه توجیه میشود ؟!

    در تعریف MVC این گونه میگوییم که مدل چیزی است که کنترلر برای ویو میفرستد لذا ویو با آن سرکار دارد که به تعبیری Model همان ViewModel تعریف میشود . لذا با تعریف Data Model که در لایه ی DAL قرار دارد متفاوت است. مثلا شما ممکن است در ویو از 30 فیلد یک موجودیت در Data Model فقط 10 فیلد آن را نیاز داشته باشید که آن موجودیت با 10 فیلد Model شما خواهد بود که برخی برنامه نویسان آن را قسمت ViewModel می دانند.



    موفق باشید ...
    درود بر شما

    یعنی اگر ما پروژه ای را قبلا به صورت WebForm نوشته باشیم که بر مبنای معماری 3 لایه بوده، حال اگر بخواهیم نسخه MVC به اون اضافه کنیم، احتیاجی نیست که DAL بازنگری بشود؟

  4. #4
    کاربر دائمی آواتار amir-yeketaz
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    تهران
    پست
    508

    نقل قول: تفاوت برنامه نویسی سه لایه با MVC در NET.

    یعنی اگر ما پروژه ای را قبلا به صورت WebForm نوشته باشیم که بر مبنای معماری 3 لایه بوده، حال اگر بخواهیم نسخه MVC به اون اضافه کنیم، احتیاجی نیست که DAL بازنگری بشود؟
    احتیاجی نیست! ... به شرط اینکه لایه ی DAL وابستگی به لایه های دیگه نداشته باشه که اون به زیبایی معماری شما بستگی داره :)

تاپیک های مشابه

  1. تفاوت برنامه نویسی شی گرا با برنامه نویسی لایه ای
    نوشته شده توسط negar.rafie در بخش C#‎‎
    پاسخ: 2
    آخرین پست: یک شنبه 17 اردیبهشت 1391, 21:03 عصر
  2. برنامه نویسی چند لایه
    نوشته شده توسط niksoft در بخش VB.NET
    پاسخ: 2
    آخرین پست: سه شنبه 26 تیر 1386, 23:22 عصر
  3. استاندارد ماکروسافت برای برنامه نویسی 5 لایه
    نوشته شده توسط cactuskhan در بخش ASP.NET Web Forms
    پاسخ: 11
    آخرین پست: دوشنبه 24 اردیبهشت 1386, 11:22 صبح
  4. تفاوت برنامه نویسی C با ++C
    نوشته شده توسط mahsun در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 5
    آخرین پست: دوشنبه 16 خرداد 1384, 05:41 صبح
  5. برنامه نویسی چند لایه در دلفی
    نوشته شده توسط Mahdavi در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 8
    آخرین پست: چهارشنبه 28 آبان 1382, 00:36 صبح

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

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