نوشته شده توسط
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 می دانند.
موفق باشید ...