الگوی مشاهدهگر یکی از محبوبترین و معروفترین الگوهای برنامه نویسی است که پیاده سازی آن در بسیاری از زبانها رواج یافته است. برای نمونه پیاده سازی این الگو را میتوانید در بسیاری از کتابخانهها (به خصوص GUI) مانند این مطالب ( + + + ) مشاهده کنید. برای اینکه بتوانیم این الگو را خودمان برای اشیاء برنامه خودمان پیاده کنیم، بهتر است که بیشتر با خود این الگو آشنا شویم. برای شروع بهتر است که با یک مثال به تعریف این الگو بپردازیم. مثال زیر ن ...
رفع مشکلات: در قسمت قبل با ذکر یک مثال و بیان مشکلات آن از دیدگاه اصول Defensive Code قصد داشتیم که مساله را روشنتر کنیم. مواردی که در
قسمت قبل ذکر شدند، به سادهترین شکل ممکن بیان
شدند و شما به راحتی با بررسی این موارد و تفکر در کدهای خود، میتوانید
این موارد را در کدی که خودتان مینویسید رعایت کنید. حل پیچیدگیهای موجود در کد قبل، با در نظر گرفتن اصول مذکور و اصولهای طراحی مختلف میتواند به روشهای مختلفی انجام گیرد. ...
تعریف متدها در برنامه نویسی: متدها جزء اولین چیزهایی هستند که در هنگام شروع
برنامه نویسی در هر یک از زبانهای برنامه نویسی، برنامه نویس با آنها آشنا میشود. بنابراین متدها به عنوان اصلیترین Building Block ها در زبانهای برنامه
نویسی دارای اهمیت بسیار زیادی میباشند. متدها اولین جاهایی هستند که
ما میتوانیم کار خودمان را از آنها شروع کنیم و به سوی ...
Defensive Coding به معنی است که
شما با انجام یکسری کارها و در نظر گرفتن یکسری زیر ساختها در توسعهی نرم افزار
خود، به اهداف ذیل دست پیدا کنید: 1. Quality (کیفیت) 2. Comprehensible (جامعیت) 3. Predictable (قابلیت پیش بینی) دستیابی به هر کدام از این اهداف و روشهای اعمال آنها
بر روی یک پروژهی نرم افزاری، در ادامه بح ...
در مقالهی قبلی ( + ) به این لحاظ که بهترین راه نشان دادن نحوهی کارکرد Controller Factory ایجاد یک نمونهی سفارشی بود، آن رابررسی کردیم و برای اکثریت برنامهها و سناریوها، کلاس توکار Controller Factory به نام DefaultControllerFactory کفایت میکند.
پس از وصول یک درخواست از طریق سیستم مسیریابی، factory پیش فرض (DefaultControllerFactory) به بررسی rout data پرداخته تا خاصیت Controller آن را بیابد و سعی در پیدا کردن کلاسی در ...
یکی از مهمترین مسائل، به خصوص در کارهای تیمی یا پروژههای اشتراکی، قرار دادن کامنتها یا اصطلاحا مستند نویسی است که بسیاری از برنامه نویسان با اینکه نظریه آنرا به شدت قبول دارند، ولی از انجام آن سرباز میزنند که به دو عامل تنبلی و عدم دانش نحوهی مستند نویسی بر میگردد. در این مقاله قصد داریم به سوالات زیر پاسخ دهیم: چرا به کامنت گذاری یا مستند نویسی نیاز داریم؟ چگونه کامنت بنویسیم؟ انواع کامنتها چیست؟ چه کام ...
روش سوم:
DTO (Data transfer objects) در قسمتهای قبلی دو روش از روشهای موجود جهت تبادل دادهها بین لایهها، ذکر گردید
و علاوه بر این، مزایا و معایب هر کدام از آنها نیز ذکر شد. در این قسمت دو روش
دیگر، به همراه مزایا و معایب آنها برشمرده میشود. لازم به ذکر است هر کدام از
این روشها میتواند با توجه به شرایط موجود و نظر طراح نرم افزار، دارای تغییراتی
جهت رسیدن به یکسری اهداف و فاکتورها در نرم ...
در پروژه خود میتوانیم StructureMap را به گونهایی تنظیم کنیم که کار تزریق لایههای انتزاعی ASP.NET را نیز انجام دهد؛ مثلاً CurrentHttpContext و یا دادههای مربوط به مسیریابی و...
به عنوان مثال در برنامه شما ممکن است کدهای زیر چندین و چند بار تکرار شده باشند: var userId= User.Identity.GetUserId();
var user = _context.Users.Find(userId);
var user = int.Parse(User.Identity.GetUserId());
...
معماری
لایه بندی شده، یک معماری بسیار همه گیر میباشد. به این خاطر که به راحتی SOC ، decoupling و
قدرت درک کد را بسیار بالا میبرد. امروزه کمتر برنامه نویس و فعال حوضهی نرم
افزاری است که با لایههای کلی و وظایف آنها آشنا نباشد ( UI layer آنچه که ما میبینیم، middle layer برای مقاصد منطق کاری، data
acce ...