متدولوژی Domain Driven Design
بسم الله الرحمن الرحیم
این مطلب را برای دوستان طراح قرار دادم انشالله مفید واقع شود
متدولوژی Domain Driven Design
قبل از پرداختن به متدولوژی مربوطه می بایست با چند مبحث آشنا شویم.
Domain Model نمایی کلی از هر آنچه در سیستم می گذرد که قلب یک برنامه MVC است که قسمت های دیگر مثل View,Controller فقط وظیفه ایجاد ارتباط با این قسمت را دارند.
یک Domain Model شامل موارد زیر است:
اجزای سی شارپ مانند کلاس ها، Structها و همانند آنکه در مجموع به آن Domain type گفته می شود.
عملیاتی که در Domain Model انجام می شوند به وسیله متدهایی که در Domain Type تعریف شده اند انجام می پذیرند.
زمانی که نمونه ای از یک Domain Type را که نمایانگر موجودیتی است ایجاد می کنید، در حقیقت در حال ایجاد یک Domain Object هستید.
یک روش خوب برای ایجاد Domain Model ایجاد یک پروژه از نوع Class Library تنها برای Domain Model است بدین ترتیب می توان از قسمت های دیگر پروژه به پروژه ی Domain Model ارجاع داشت.
در Asp.Net MVC سه قابلیت برای کار با Domain Model وجود دارد:
Model Binding: همان ویژگی که در View از آن استفاده می کنید. (ارسال و دریافت پراپرتی ها به صورت یک مدل)
Model Metadata:روشهایی مانند [Display] که در مدل از آن استفاده می کنید.
Validation: اعتبارسنجی که در مدل انجام می دهید.
مدل کردن یک Domain
مدل کردن یک Domain یا Domain Modeling، فرایندی است که در طی آن اهداف و نیازمندی های پروژه شناسایی می شود.
برخی مشکلات تکنولوژی Asp.Net Web Forms
بسم الله الرحمن الرحیم
مطلبی را برای دوستان عزیز در تیم های توسعه و طراحی وب قرار دادم تا با برخی مشکلات مطرح Asp آشنا شوند و همچنین این مشکلات نیز از سویی در MVC حل گردیده و نتیجه آن این است که مطلب زیر معایب Asp و از سویی مزیتهای MVC می باشد انشالله مفید واقع شود.
برخی مشکلات تکنولوژی Asp.Net Web Forms
View State
از View State برای نگه داری وضعیت صفحه در هنگام رد و بدل شدن درخواست و پاسخ بین کلاینت و سرور استفاده می شود. این فیلد به صورت مخفی است و گاهی به دلیل فضای زیادی که اشغال می کند مشکلاتی را به وجود می آورد کسانی که با این تکنولوژی کار کرده اند حتما مثال هایی در ذهن دارند، حجم زیاد این فیلد باعث از بین رفتن پهنای باند و طولانی شدن زمان بارگذاری صفحه می شود
Page Life Time
زمان حیات هر صفحه متفاوت استو گاهی برای اجرای یک درخواست روالهای زیادی فراخوانی می گردد که این موضوع باعث طولانی شدن زمان بارگذاری صفحه می شود و همچنین کد نویسی آن را پیچیده می کند
کار با Ninject
بسم الله الرحمن الرحیم
آموزش dependency injection
Design Patterns و Dependency Injection
بسم الله الرحمن الرحیم
آموزش dependency injection
حذف کانکشن های یک دیتابیس
بسم الله الرحمن الرحیم
برای دوستان عزیز که در تیم طراحی پایگاه داده SQL فعالیت می کنند این کد بسیار کارا خواهد بود.
برای اینکه شما بتوانید یک پایگاه داده را Restore کنید می بایست ابتدا تمامی Connection های آن را حذف کنید برای این فرایند کافی است که دستور زیر را بر روی پایگاه داده خود اجرا نمایید (بجای MyDATABASE نام پایگاه داده خود را وارد نمایید). البته این مشکل مربوط به نسخه های قدیمی SQL می باشد.
اما به هر حال بسیاری از مواقع شما نیاز دارید تمامی Connnection های فعال اسکیوال سرور را حذف کنید. برای این کار کافی است تکه کد زیر را بروی دیتابیس مورد نظر خود اجرا کنید.