نگاهی به ASP.NET MVC و بررسی ساختار آن
MVC یا Model View Controller معماری بود که مایکروسافت در سال 2009 از آن در پیاده سازی فریم ورکی بر روی بسترASP.NET استفاده کرد. همونطور که می دانید .Net Framework پلتفرمی برای ساخت انوع نرم افزار ها، از جمله نرم افزار های Desktop، Web، Console و ... می باشد و از زیرساختی خاص وهزاران کلاس پایه برای رفع نیاز های کلی برنامه نویسان تشکیل شده است.
بر روی بستر دات نت، پلتفرم و زیر ساخت دیگری به نام ASP.NET Framework و به منظور تولید نرم افزارهای تحت وب تولید شد و در نهایت، چیزی که عملا ما با آن ها سر و کار داریم، دو فریم ورک WebForm و MVC هستند که مایکروسافت آن ها بر روی فریم ورک ASP.NET توسعه داد. به طور مثال کلاس های مربوط که Caching، Authentication، Authorization و بسیاری موارد دیگر در Framework ASP.NET قرار دارند و WebForm و MVC از آن ها بهره می گیرند.
اوایل ظهور این فریم ورک این دیدگاه ایجاد شده بود که آینده از آن MVC است و مایکروسافت قصد دارد Asp.net را به سمت این فریم ورک سوق دهد، اما همانطور که خود مایکروسافت هم بار ها بیان کرده، MVC جایگزینی برای WebForm نیست و هر دوی این ها در آینده توسعه خواهند یافت. اما واقعا چرا با وجود WebForm چنین فریم ورکی توسعه داده شد؟!
اگر تا حدی با برنامه نویسی چند لایه آشنایی داشته باشید، مطمئنا نام معماری 3 لایه یا N لایه (N Tier/Layer) زیاد به گوشتان خورده است. هدف از پیاده سازی یک نرم افزار به صورت چند لایه، شکستن بخش های مختلف نرم افزار به قسمت های کوچکتر و توسعه مجزای هر یک از واحد ها برای افزایش Maintainability و Reliability در نرم افزار است. MVC نیز بر همین اصل تایید دارد اما به شکلی بسیار قوی تر. در MVC اجزای مختلف به سه بخش کلی Model، View و Controller تقسیم می شوند و این سه بخش به گونه ای پیاده سازی شده اند که کمترین وابستگی را به یکدیگر را داشته باشند (Seperation Of Concern)، که به دنبال خود همان دو ویژگی مذکور (Maintenance و Reliability) و علاوه بر آن افزایشTest Ability (در توسعه Test Driven Development) نرم افزار را به دنبال خواهد شد.
یکی از ویژگی های مهمی که برای MVC مطرح می شود قابلیت Unit Testing بالای آن است. Unit Testing به معنای تست واحد های مجزای یک نرم افزار، مستقل از دیگر واحد ها می باشد. بطور مثال اگر قرار باشد Business Logic یک نرم افزار مورد تست و ارزیابی قرار گیرد و از کارکرد درست آن اطمینان حاصل شود، این امکان توسط این نوع معماری و به دلیل ساختار آن به شکل بهتر و گسترده تری فراهم می شود.
همانطور که ذکر شد MVC شامل سه قسمت Model، View و Controller می باشد:
Model: مدل که شاید بتوان گفت بخش بزرگ و اساسی این نوع معماری را تشکیل می دهد، تمامی Logic یک نرم افزار را در خود جای داده است. در واقع Domain Model یک نرم افزار که شامل کلیه Business Logic ها، Rule ها،Entity ها و واحد های مختلف برای سرویس دهی به این اجزا می باشد، در این بخش قرار دارند.
View :View یا همان UI بخشی است که فقط مسئول نمایش اطلاعات Model بر روی فرم های وب (در اینجا) می باشد. دقت کنید که از واژه "فقط" استفاده کردم، به این معنی که View هیچ دخالتی در هیچ پردازشی بر روی Model ندارد و نباید داشته باشد. مقایسه کنید با مدل Code Behind در WebForm ها که همیشه بخشی از Logic یک نرم افزار در آن قرار می گرفت و شاید عمده دلیلی که در View های MVC چیزی به نام Code Behind وجود ندارد همین است.
Controller: کنترلر وظیفه برقرای ارتباط بین Model و View را بر عهده دارد، در واقع این Controller است که با دریافت پارامتر هایی از ورودی (فرم های وب، Query string و...) و انجام پردازش بر روی Model و در ارسال اطلاعات نهایی به View برای نمایش، جریان بین این دو را کنترل می کند.
حال که تا حدی با ساختار این معماری آشنا شدید بد نیست که کمی در مورد تاریخچه آن نیز بدانید:
الگوی MVC اولین بار در سال 1987 توسط فردی به نام Trygve Reenskaug با نام اولیه یThing Model View Editor مطرح شد و خیلی نگذشت که نام به آن Model View Controller تغییر داده شد. MVC برای اولین بار در زبان Small Talk به عنوان یک GUI Pattern مورد استفاده قرار گرفت و پس از سال ها رشد و باز شدن پای MVC به دنیای وب، امروزه در فریم ورک های معروفی همچون Ruby On Rail، Merb و Django مورد استفاده قرار می گیرد.
Mono Rail اولین فریم ورک MVC برای Asp.net بود که به صورت Open Source منتشر شد و در نهایت خود مایکروسافت بود که توسط Scott Guthrie جدید ترین و مدرن ترین فریم ورک خود را برای Asp.net در سال 2009 منتشر ساخت.
اما برخی از مزایای WebForm و MVC نسبت به هم از زبان خود مایکروسافت:
Advantages of an MVC-Based Web Application
The ASP.NET MVC framework offers the following advantages:
Advantages of a Web Forms-Based Web Application
The Web Forms-based framework offers the following advantages:
البته برای افرادی که تا کنون با WebForm کار کرده اند، ممکن است این تصور ایجاد شود که عدم وجود کنترل های Server Side و حتی event ها در Asp.net MVC، نوع برنامه نویسی با این فریم ورک باید بسیار سخت تر باشد، اما این اطمینان را می دهم که واقعا به این شکل نیست و اگر در MVC زیر ساخت های لازم فراهم شود، سرعت توسعه در آن چندین برابر WebForm ها خواهد بود.
- کار بازگشائی این راه مرزی به طول ۱۲ کیلومتر انجام شده که ۳ کیلومتر آن آسفالت و بقیه مسیر در حال حاضر زیر سازی اصولی آن انجام شده که با شروع مجدد پروژه این مقدار نیز آسفالت می شود.
بخشی از این راه در سال جاری آسفالت خواهد شد و مابقی در صورت تخصیص به موقع اعتبارات در سه ماهه اول سال ۹۴ به اتمام خواهد رسید.
مدیران و مسئولان در دولت تدبیر و امید قول داده اند ،پروژه راه مرزی روتک خاش به طول افزون بر 120 کیلومتر ساخته می شود.
برای اجرای این پروژه افزون بر 45 میلیارد ریال اعتبار پیش بینی شده است.
مردم خاش هم اینک برای دسترسی به منطقه مرزی روتک به ناچار حدود 350 کیلومتر راه را با عبور از شهرستان سراوان و مرز جالق و یا شهرستان میرجاوه طی می کنند.
با ساخت محور خاش- روتک این فاصله طولانی 200 کیلومتر کوتاه تر می شود.
- ایجاد بازارچه مرزی و آسان شدن تجارت و مبادلات کالا در کنار تقویت مناسبات فرهنگی، سیاسی، اجتماعی و غیره از مزیتهای مهم اجرای این طرح است.
- تاکنون برای انجام عملیات برش کوه و بازگشایی مسیرهای سخت گذر این محور افزون بر 15 میلیارد ریال هزینه شده است.
منطقه مرزی روتک خاش با داشتن آب فراوان و زمین های حاصلخیز و 1500 موتور پمپ فعال، افزون بر 6500 هکتار نخیلات بارور دیم و محصول خرمای با کیفیت بسیار بالا و ارگانیک را درخود جای داده است.
خاش 124 کیلومتر مرز مشترک زمینی با کشور دوست و همسایه پاکستان دارد.
خاش در 185 کیلومتری جنوب زاهدان مرکز استان سیستان و بلوچستان واقع شده است.
محمد امین میربلوچزهی ،خبرنگار خاش
همواره در سراسر زندگی شغلی، حرفه ای و اجتماعی خود بدین سوگند وفادار باشم.
به انسان، به عنوان یک موجود صاحب خرد و شگفت انگیزترین پدیده آفرینش بیاندیشم، صدیق و واقع بین باشم و به هیچ اقدامی که به انسان و انسانیت آسیب رساند، مبادرت نورزم.
دانش مهندسی و تجربه حرفه ای خود را که میراث مشترک بشری است، مغتنم دانم و کوشش کنم تا آن را به روز نگهدارم و در حد توان خود به گنجینه دانش و تجربه های سودمند بشری بیفزایم.
ایران زادگاه من است که در آن زاده و پرورده شده ام، کوشش خواهم کرد که دین خود را به سرزمینم، مردمانم، نیاکانم، و آیندگان ادا کنم.
در طول زندگی حرفه ای خود تلاش کنم تا نقش موثری در توسعه پایدار کشورم داشته باشم.
در حد توان به دانشگاه که مربی علمی و فنی من است و به کسانی که پس از من در این مکان مقدس پرورش خواهند یافت، خدمت کنم.
سرمایه های هستی، چون ماده، انرژی، محیط زیست و نیروی کار را سرمایه های تمام بشر بدانم، و در حفظ و کاربرد درست و بهسازی آنها کوشش نمایم.
در تمام فعالیتهای مهندسی خود صداقت، دقت، نظم، عدالت، سرعت عمل، حفظ منابع اجتماع و حقوق دیگران را مراعات کنم و سلامت، ایمنی و آینده نسلها را در نظر داشته و به آنان مهربان، دلسوز و متعهد باشم و همواره سود خویش را در منافع عام جستجو کنم، رشوه خواری و سایر رذایل اخلاقی را طرد و برای زحمات خود ارزش مادی ای در حد معقول و متعارف طلب کنم.
در تمام کوشش های مهندسی خود از دانش روز و آخرین یافته های فنی آگاه شوم و آنها را با ابتکار، خلاقیت و نو آوری در طراحی، برنامه ریزی و اجرا بکار بندم.
در تمام کوشش های مهندسی خود استانداردهای را مراعات و تنها در حیطه دانش و توانایی خود کار قبول کنم و تنها مدارکی را امضا کنم که به آنها احاطه فنی کامل دارم. در مواردی که منع قانونی و حق مالکیت اختصاصی وجود ندارد، دانش خود را آزادانه و به صورت رایگان منتشر کنم و در اختیار دیگران قرار دهم.
در ادای وظایف حرفه ای محول شده، متعهد، مسئولیت پذیر، مشارکت پذیر و رازدار باشم.
محیطی پر از محبت و صفا و عشق و علاقه به خدمتگذاری بی ریا به مردم و وطنم را بوجود آورم و همکاران خود را بدون توجه به ملیت، نژاد، مذهب، جنسیت، سن و عقیده دوست بدارم و ارزش های انسانی را در خود و در آنان پرورش دهم.
در کوششهای مهندسی خود همیشه فردی متواضع باشم و موفقیتهای به دست آمده را علاوه بر سعی و کوشش خود مرهون تلاش همکاران و نظام آفرینش بدانم و از آنان قدردانی و سپاسگذاری کنم.
در تمام کوششهای مهندسی خود جویا و پذیرای نقد و اظهار نظر صادقانه همکاران باشم و از لطمه زدن به حیثیت، شهرت، دارایی یا اشتغال دیگران پرهیز و از اقدامات بد خواهانه برای آنان خوداری کنم.
از کوشش های فرهنگی و فعالیتهای اجتماعی که به منظور توسعه رفاه عمومی انجام می گیرد، استقبال و در آنها شرکت کنم.
همکاران خود را به رعایت اصول اخلاق مهندسی و وجدان حرفه ای تشویق کنم.
توجه: حق هرگونه برداشت، کپی و تکثیر این مطلب برای نویسنده محفوظ است.
دگرگون شدن شهرها بر اساس تلاش دولتمردان و اعضای تأثیرگذار در توسعه شهر ها نظیر شورای اسلامی شهرها می باشد. با استفاده از نیروهای کارشناسی و مدیران لایق، یک شهر پله های ترقی خود را یکی بعد از دیگری پشت سر می گذارد و این امر عامل اصلی ایجاد اختلافات عمده در روند توسعه شهرهایی نظیر کرج، اصفهان، مشهد و ... به صورت روز افزون و در پاره ای از موارد سبب پسرفت شهرهایی نظیر شهرهای شمالی کشور بالاخص شهرستان محروم رامسر و شهرهای کتالم و سادات شهر در حاشیه غربی استان مازندران است.
http://img7.irna.ir/1393/13930825/81389036/81389036-6080982.jpg
با انجام کارهای روبنایی، مقطعی و بر حسب سلیقه مدیران اجرایی نه تنها گرهی از مشکلات کاسته نمی شود بلکه گرهی بر مشکلات افزوده شده و ناهماهنگی ها و معضلات شهری و روستایی بیشتر خواهد شد. اجرای طرح های کارشناسی نشده و استفاده از امکانات و تجهیزات بدون تکنولوژی روز علاوه بر افزایش زحمات کارهای مسئولین دلسوز شهری در حین انجام کارها با حداقل هزینه ها و امکانات در مقاطع زمانی دیگر باعث افزایش مشکلات روزمره و عدم کنترل نقایص اجرایی آنها در سالهای بعد خواهد شد. کاش به جای تهیه نوشتار 32000 صفحه ای برای آثار ثبت شده یونسکو در ایران توسط میراث فرهنگی کشور و حفظ اشیای کهنه برخی مدیران نالایق شهری را در موزه ها می گذاشتند تا درس عبرتی برای آیندگان باشند.
حال به نظر می رسد انجام تشریفات قانونی و احداث ابنیه مسکونی و تجاری ضمن صلاحدید برخی از ادارات مسئول و با هماهنگی آنها کاری بسیار دشوار است. بخش های خصوصی نیز با سرمایه اندکی می توانند نسبت به ایجاد کارهای عام المنفعه نظیر تغییر مسیر جریان آب به سمت کانال ها، تعمیر بافت فرسوده و احداث ابنیه مناسب با فضای گردشگری در منطقه، استان و یا شهر خود اقدام نمایند ولی متاسفانه به دلیل وجود برخی از ناهماهنگی ها و برخوردهای سلیقه ای اجرای این امور، آینده درخشانی را برای مردم رقم نخواهد زد. بهتر است از شعارزدگی برای داشتن شهر نمونه گردشگری کمی بیشتر به شعورزدگی و استفاده از خرد گروهی در جلسات هم اندیشی بیاندیشیم.
فرماندار رامسر (حسین سروری) ضمن اشاره به تدوین چشم انداز توسعه شهرستان فرمودند:
یکی از دلایلی که از قافله توسعه عقب ماندیم ، بخش عظیمی به مسائل درونی باز می گردد و تجربیات تلخ گذشته دیگر نباید تکرار شود. فرهنگ توسعه و حمایت از سرمایه گذاران با صلاحیت باید به کمک نخبگان و اهالی رسانه به خواست عمومی تبدیل شود.(یک شعار عینی).
حال امید می رود با تغییر مدیریت جدید در برخی ادارات شهرستان نظیر میراث فرهنگی شهرستان رامسر با دورنمای کارشناسی شده و آینده نگر بر اساس نظرات کارشناسان دلسوز شهرمان جهت حفظ میراث فرهنگی و آثار معنوی در شهرستان رامسر و برای کنترل ساخت و سازها و ابنیه جدید نظیر مراکز تجاری آرامش و پدیده شاندیز، ساخت پلاژها و غیره در رامسر گامهای بسیار موثری برداشته شود. این امر سنگ بنای ساخت و سازها و پروژه های بزرگتر و جدیدتر با رعایت اصول فنی و کارشناسی شده در آینده نیز خواهد شد.
به نظر می رسد سونامی برف در سال 1392 نشانه ای از همکاری گروهی ادارات و مردم و گروه های امداد را به مَنصه ظهور رساند و بحران سیل در سال 1393 با وجود طغیان های رودخانه ای در دهه اخیر به علت کاهش تراکم جنگل ها، عدم وجود آبراهه ها و کانالهای هدایت آب در زمان ریزش نزولات جوی به علت ساخت و سازهای بی رویه، تلنگری به مسئولین محیط زیست، منابع طبیعی، شهرداری و ... این شهرستان باشد که نشان از آینده ای دهشتناک و نه چندان خوب برای شهرستان، ییلاقات اطراف و مردم مهربان و طبیعت دوست رامسر دارد. زبان قلم از درک فاجعه احتمالی قاصر است. این امر توجه جدی نماینده ، مسئولین محترم و مردم همیشه در صحنه ضمن همراهی بیشتر مسئولین استانی و کشوری را طلب می نماید.