بررسی قراردادهای معماری سه لایه MVC

سه شنبه 15 اسفند 1396

با بررسی قراردادهای معماری mvc می توان درک بهتری از این معماری ایجاد نمود. قراردادهای معماری mvc به نوعی سبب می شود که چیدمان این معماری صحیح تر اجرا شود.

 بررسی قراردادهای معماری سه لایه MVC

در معماری mvc یک سری قرار دادها وجود دارد که بهتر است هر توسعه دهنده سایتی از آن مطلع باشد. قراردادهای معماری mvc خود به دو بخش تقسیم می شوند. امروز قصد داریم در خصوص این قراردادهای مهم به تفصیل و البته به زبان ساده صحبت نماییم.

معرفی نوع اول قراردادهای معماری mvc

به طور کلی دو نوع قرارداد معماری mvc وجود دارد که هر کدام دارای یک سری ویژگی های خاص هستند. گروه اول از قراردادهای معماری mvc به یک سری پیشنهادها مربوط می شود. این پیشنهادها سبب می شوند که ساختار پروژه به درستی نظم داده شود، البته این نظم بخشی دارای ساختار خاصی هستند. این موضوع را با مثالی به دقت بررسی می نماییم. هر کدام از فایل های جاوا اسکریپت و همینطور فایل های css می بایست داخل پوشه wwwroot/lib قرار بگیرد، این بخش در واقع مکانی محسوب می شود که برنامه نویسان در ابتدا به سراغ آن می روند. اگر کمی دقت نماییم میبینیم که محیط ویژوال استودیو نیز این فایل ها را در محل درست نصب میکند، چنین نظم بخشی از طریق package manager که در واقع به مدیریت بسته ها می پردازد صورت می پذیرد.

در قراردادهای معماری mvc حتی اگر فایل ها در محل دیگری ذخیره شود می توان با استفاده از یک سری تگ هایی که در بخش head صفحه وجود دارد به فایل ها دسترسی داشت، بدون اینکه مشکلی در این قراردادها ایجاد شود.

دومین بخش از قراردادهای معماری mvc کدام است؟

در بالا اشاره شد که قراردادهای معماری mvc به دو بخش تقسیم می شوند. بخش دوم این قرار دادها بر پایه پیکربندی می باشد. به عنوان نمونه تا زمانی که قرارداد مشخصی برای نامگذاری فایل ها وجود دارد می بایست از آن به درستی پیروی نمود. در این وضعیت دیگر نیاز به تعریف ارتباط بین نما و همینطور کنترل نبوده و متدهای اکشن داخل کنترلر نیز به صورت دقیق اجرا می شود. این وضعیت نشان می دهد که کنترلر به درستی نامگذاری شده است و ارتباط بین کنترلر و همینطور View هر یک نیز به درستی مشخص می شود.

قراردادهای معماری mvc مربوط به کنترلرها

قراردادهای کنترلرها اغلب با پسوندهای خاصی مشخص میشوند. در این بین هرچه پسوند نام ها دقیق تر صورت پذیرد می توان گفت که قراردادهای معماری mvc به درستی رعایت شده اند. به عنوان نمونه برای کلاس هایی که در معماری mvc وجود دارد می بایست نامگذاری با استفاده از واژه controller باشد و این واژه می بایست در انتهای نام کلاس قرار بگیرد، به عنوان مثال productcontroller.

البته مورد دیگری نیز در قراردادهای معماری mvc دیده می شود. مثلا اگر در مثال ذکر شده واژه کنترلر در یک محل دیگر بوده و در یک تگ جداگانه به کار برود در واقع شما تنها از بخش اول آن یعنی از product استفاده نموده اید و معماری سه لایه به صورت کاملا خودکار کنترلر را اضافه خواهد نمود. این موضوع در نهایت به یافتن کلاس در پروژه منجر می شود.

قراردادهای معماری mvc مربوط به view

View در پوشه ای مجزا و در یک آدرس خاص ذخیره می شود. در واقع وقتی می خواهید به دنبال محل view که مربوط به controller است بروید می بایست از مسیری به شکل  views/productاقدام نمایید. در معماری سه لایه برای method action یک پیش فرض در نظر گرفته شده است. این پیش فرض بر اساس view هم نام با آن method صورت می پذیرد. در واقع این view دارای آدرسی خاص به action مورد نظر هستند. البته یک سری view پیش فرض دیگر وجود داشته که با متد های view()  می تواند بهترین شرایط را فراهم سازد. توجه نمایید که در این پیش فرض ها صحبت از پسوند فایل و همینطور مسیر آن نخواهد بود. برای پیدا نمودن view می بایست پوشه ای با نام مشخص و با استفاده از کلمه controller ایجاد شود، در واقع تاکید بر وجود پوشه ای است که چندین controller در آن به صورت اشتراکی مورد استفاده قرار می گیرد.

قراردادهای معماری mvc مربوط به الگوی صفحه

همانطور که بررسی شد در معماری سه لایه یک سری قراردادهای پیش فرض وجود دارد که در واقع الگوهای صفحات بر اساس آنها شروع می شود. نماد به کار برده برای این نوع از قراردادهای معماری  mvc آندرلاین (_) است. چنین الگویی بر اساس صفحات و الگوی خاص در آن صورت می پذیرد. توجه نمایید که این الگوها خود دارای تغییرات قابل قبولی هستند. البته در قراردادهای معماری mvc  یک سری دستورها وجود دارد که اجازه می دهد صفحات دارای الگو نباشند. در این شرایط layout  می بایست با مقدارnull  آغاز شود و این نوع کدنویسی نیاز به بررسی شرایط خواهد داشت.

در یک نگاه کلی دیده شده که قراردادهای معماری mvc  دارای دو بخش کلی بوده که هر کدام ویژگی های خاصی دارد و از شرایط خاصی پیروی می نماید. در این شرایط همیشه می توان اینطور بررسی نمود که رعایت قراردادهای معماری mvc  از ضروریات برای برنامه نویسان بوده و سبب می شود که چیدمان این معماری به درستی انتخاب شود. معماری سه لایه mvc  دارای ویژگی هایی خاص و منحصربفرد است.

آموزش asp.net mvc

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید