روش‌هایی برای حذف کلاس‌های utility
200, OK
http://www.nichesoftware.co.nz/code-gardening.html icon

- Killing the utility class with premeditation
- Killing the utility class with relocation
- Killing the utility class with consolidation
- Killing the utility class with semantic types
- Killing the utility class with extension methods

روش‌هایی برای حذف کلاس‌های utility
دریافت کتاب Clean Architecture نوشته Robert C. Martin
403, Forbidden
http://www.ebooksworld.ir/post/index/233/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%AA%D8%A7%D8%A8-clean-architecture-a-craftsman-s-guide-to-software-structure-and-design icon

دانش و مهارت زیادی لازم نیست تا یک برنامه نوشت. بچه‌های دبیرستانی نیز این کار را در دبیرستان انجام می‌دهند. مردان و زنان جوان در دانشگاه با سر هم کردن چند خط کد PHP یا Ruby کسب و کار‌های میلیارد دلاری را شروع کرده اند. برنامه نویسان تازه کار زیادی در دفاتر کاری مکعبی شکلشان در سرتاسر دنیا در بین اسناد حجیم نیازمندی‌های موجود در سیستم‌های issue tracking خود در حال تقلا هستند تا سیستم هایشان را با صرف فعل خواستن توانستن است به کار بیندازند. کدهایی که تولید می‌کنند ممکن است زیبا نباشند ولی کار می‌کنند. کار می‌کند به این دلیل که چیزی بتواند یک بار کار کند، خیلی سخت هم نیست. این که چیزی واقعا به درستی کار کند موضوعی کاملا متفاوت است. پیاده سازی صحیح نرم افزار سخت است چرا که دانش و مهارت هایی نیاز دارد که هنوز بیشتر برنامه نویسان جوان به آن دست نیافته اند. 

دریافت کتاب Clean Architecture نوشته Robert C. Martin
روش صحیح استفاده از ASP.NET Identity، بدون وابستگی Domain و سایر لایه ها به آن
301, MovedPermanently
http://timschreiber.com/2015/01/28/persistence-ignorant-asp-net-identity-with-patterns-part-4/ icon

The Problem

What they neglect to say is all that testability and persistence ignorance flies right out the window when you create a new ASP.NET Web Application using the MVC template and "Individual User Accounts" authentication. What you get is a single-layered application, tightly coupled to Entity Framework, that:

  • Ignores the patterns that facilitate testing, including: the repository pattern, unit of work pattern, and dependency injection;

  • Forces you to implement their IUser interface in your application’s User entity, thereby coupling it to ASP.NET Identity;

  • Eliminates any clear separation between your entities, persistence concerns, and business logic. Persistence ignorance? Forget about it.

Thankfully, due to the extensibility designed into ASP.NET Identity, it is possible to ditch the reference to the Microsoft.AspNet.Identity.EntityFramework assembly and write a custom implementation that can address these and other architectural issues. Just be forewarned: it is not a trivial undertaking, and you’ll have to put up with some code smell that is baked into the Microsoft.AspNet.Identity.Core assembly. 

روش صحیح استفاده از ASP.NET Identity، بدون وابستگی Domain و سایر لایه ها به آن
کدنویس تمیز فصل دوم: نه گفتن
301, MovedPermanently
http://zerobook.ir/%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3-%D8%AA%D9%85%DB%8C%D8%B2-%D9%81%D8%B5%D9%84-%D8%AF%D9%88%D9%85-%D9%86%D9%87-%DA%AF%D9%81%D8%AA%D9%86/ icon

«... بهترین نتیجه ممکن، هدفی است که شما و مدیرتان به اشتراک می‌گذارید. نکته اصلی، یافتن آن هدف است که اغلب نیازمند مذاکره است...»

کدنویس تمیز فصل دوم: نه گفتن