Articles filed in category 'Patterns'

  • In an application built with object-oriented techniques, objects are the bricks.You construct little pieces of code encapsulated in these bricks. To build bigger structures, you need to hold these bricks together. You can hardwire them together by instantiating dependent objects within your objects, but it makes the whole structure less flexible in the face of change. So you can adopt an inversion of control (IoC) container to act as your mason to assemble your bricks in...See More
  • The ASP.NET Provider Model drives many features within the ASP.NET architecture, yet most people only relate it to security or membership-related functionality. In this article, I’ll take you deep into the provider model, show you how it’s used from a security context, then take it up a notch and teach you how you can use it to turn any feature in your application into an extensible and swappable component. In fact, I’ll even show you why calling it the ‘ASP.NET’ Provide...See More
  • Do more with less code is the slogan of Visual Studio 2005.When it comes to reducing the amount of written code, wizards are definitely a viable option. Visual Studio 2005 has a lot of wizardry in it, especially to generate data access code. Any code that gets silently injected in your project follows a strict logic and a well-known design pattern. A full understanding how Visual Studio 2005 does it puts you on the right track to modify and extend the code to build your ...See More
  • Nov/Dec 08 .NET Rocks by Carl Franklin
  • As developers are just getting used to ASP.NET MVC 2 and Visual Studio 2010, Microsoft has already planned and released a preview of the next version of ASP.NET. What started out as “just another option” for ASP.NET developers has become the programming style of choice for developers writing .NET applications for the web.
  • Ben Coe gives us tips on planning an engineering project when you’re starting with a blank slate. He starts with hosting options, addresses scaling, and looks at tools like Heroku, Amazon’s Web Services (AWS), Amazon’s Elastic Computing Cloud (EC2), and the Twelve-Factor App Manifesto.
  • Martin introduces Design by Contract and Code Contracts, and gives you a sneak preview of Pex—Microsoft’s new test-suite generator. Along the way, he will show you how to add contracts to ADO.NET entities and some interesting coding strategies, good practices, and pitfalls you may encounter while making a deal with your code.With Code Contracts, Microsoft delivers its own flavor of Design by Contract for the .NET Framework. But wait, what is this thing sometimes called C...See More
  • Building loosely coupled application architectures requires more than just separating your application into different layers.In this article, I’ll take a project that was built using techniques that result in fragile, hard-to-test code and introduce some principles, techniques, and refactorings that will help you realize flexibility and testability in your applications.
  • Struggling to grasp the concepts of Model-View-View-Model? Keep it simple!
  • Jimmy explores what went right and what went wrong with version 1.0 of AutoMapper.
  • Ned introduces the most significant advance in error handling since exceptions and he shows you a new way to look at errors.This article introduces the most significant advance in error handling since exceptions.You get improved tools for today and a glimpse of radical possibilities for tomorrow. You get a framework which supports more expressive error handlers and gives them equal access to error context information. You get a roadmap for adding improved error handling ...See More
  • Derick outlines how to achieve the benefits of low coupling, high cohesion, and strong encapsulation. He also shows how the five S.O.L.I.D. design principles can get you there.Most professional software developers understand the academic definitions of coupling, cohesion, and encapsulation.However, many developers do not understand how to achieve the benefits of low coupling, high cohesion and strong encapsulation, as outlined in this article. Fortunately, others have cr...See More
  • In his article, Miguel Castro explores the evolution of multithreading in .NET, emphasizing the shift toward parallel programming with the introduction of the Task Parallel Library and the async/await keywords. He clarifies the distinction between concurrency and true parallelism, highlighting how modern tools simplify writing efficient, responsive, and non-blocking code, especially for mobile applications. Miguel details the use of the Task and Parallel classes for mana...See More
  • In his article, John Baird introduces Windows Phone 7 development using the Silverlight framework combined with the Model-View-ViewModel (MVVM) design pattern and unit testing to create maintainable, testable mobile applications. He explains Silverlight’s layout, data binding, and templating features, and emphasizes MVVM’s separation of concerns to improve code quality and enable unit testing. Baird provides practical guidance on structuring WP7 projects with Models, Vie...See More