Articles filed in category 'Design Patterns'

  • Dino talks about the best possible layout for your project in MVC 5, and gives some great tips for helping you keep it all organized and effi cient.
  • In the third installment of his WPF series, Paul shows you how to get feedback using an Entity Framework entity class. He also shows you how to start expanding user activities, like adding, editing, or deleting screens.
  • You can access just about any data with type providers, whether in XML, JSON, or APIs. Rachel shows us how, plus a nifty new Swagger type provider.
  • Brian explores node.js and shows you the basic concepts needed to develop with it.
  • If Just-in-Time compilation is getting you down because of slow runtime launches, you’ll be excited to learn about how Ahead-of-Time compilation can make your apps smaller and more efficient. Sahil shows you how.
  • Have you ever wondered how to use your browser (and those of your customers) as rich clients without plug-ins or ActiveX objects? Shawn Wildermuth tells you how.
  • John explains the dependency graph and the layer diagram tools in Visual Studio. Once you see how they work and what they can do, you’ll use them as part of every project.
  • Bootstrap 2.x was a great product, but you’ll build more attractive, more inviting, and more accessible websites with the next Bootstrap. Jim and Scott tell us what’s new.
  • When you build complex UI applications, it is all too easy to end up with a messy, tightly coupled, interwoven mess that is difficult to develop and maintain; and impossible to test.Too avoid that, you need to employ good design patterns in your UI layer that help you keep things loosely-coupled and testable. Composite Application Guidance for WPF is a set of libraries, documentation, and sample code from Microsoft patterns & practices that helps you to build clean, main...See More
  • If you’re lucky enough to be involved in building a new enterprise system, you’ll want to check this out. Rachel takes a look at how the company where she works made some interesting—and forward-looking—decisions, and she shows us the benefits of microservices while she’s at it.
  • In prior articles, I have shown how to create WPF-based applications using the CODE Framework and the MVVM and MVC patterns. This enabled developers to create quality applications quickly and in a fashion that can easily be understood by developers of all skill levels. In those articles I showed how to use view-models and views to create UIs. In this article, I am going to take this concept further by showing you how you do not even have to create new views and view-mode...See More
  • With the advancement in the Silverlight technology starting with the 1.0 release to 2.0, 3.0, and lately 4.0, Silverlight is loudly saying WOW “Watch Out World.” Can you guess which world I am talking about here? It is the RIAs world! Really WOW!
  • A lot of articles have been written about database concurrency conflict detection and the various ways of handling them.Unfortunately most of these articles, and accompanying solutions, have one major flaw in that they focus on the technical issues and database implementation instead of real-world data and how people use the data. In this article, I will try to show the difference between focusing on the database implementation and on the real-world data. I will show som...See More
  • Today’s clients seem to be getting more and more demanding regarding the flexibility of their applications and the speed in which modifications can be made. In this article, I will show you how to design applications with extensibility points so that they will grow with the clients’ needs as well as provide a way to “swap” functionality in and out as needed.
  • Stefano explores using containers for reusable components and patterns to simplify making reliable distributed systems. He leans on microservices to place all functionality within a single application.
  • Microsoft released Entity Framework, an ORM (Object Relational Mapping) tool, in 2008.Entity Framework gives developers the ability to be abstracted from the underlying relational database management system and allows them to talk to a database using familiar LINQ-based syntax.
  • Jeffrey gives us an overview and demonstration of a continuous delivery environment and shows us some great tools along the way. Using integrated development and operations, he gets the most out of cloud technologies.
  • 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
  • Craig builds a simple application that reveals the states, dependencies, and methods of navigation that you’ll need in order to fully understand the Angular UI Router framework.
  • The Entity Framework team at Microsoft has been making several improvements since the launch of v4 with Visual Studio. The biggest of these is the capability to use a Code First or Code Only development model. Previously, if you wanted to work with the Entity Framework, you had to use either a Database First or Model First development model.
  • You know you should be moving code out from behind your forms, windows and web pages and into stand-alone classes. Everyone preaches that this is what to do, everyone shows you examples of ViewModel classes, but no one really shows you a real-world example of how to get rid of the code behind.
  • Nov/Dec 08 .NET Rocks by Carl Franklin
  • Joe helps you understand the emerging front-end framework technology that’s showing up everywhere these days.
  • Have you ever thought that the language you were coding in lacked some important tools? Vassili shows you how to write your own language without building a compiler.
  • If your application uses multi-threading, immutability should be part of it. John covers how to enforce and work with immutable objects, despite C#’s lack of native support for them.
  • 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
  • In 2007, Microsoft unveiled a new vision called “Software + Services” that would fundamentally change the way that both Microsoft and their customers build software and have a gradual, yet marked ripple effect throughout the software giant’s entire strategy.
  • 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.
  • When considering mobile development, you have a variety of techniques to choose from. In many cases, reactive rendering (using CSS media queries) provides a good solution. Additional mobile customization can be achieved by using ASP.NET MVC4 device detection/customization to provide adaptive rendering. Both of these techniques follow the traditional Web development pattern where each page is focused on a specific task. In an application managing a list, there is a page d...See More
  • It is often said that ASP.NET MVC was inspired by Rails. What better way to test that assertion than by writing the Nerd Dinner ASP.NET MVC application in Rails? In this article, I’ll take you through the steps I used to get Nerd Dinner up and running in Rails. A few points to keep in mind:
  • Rick Garibay takes you on a tour of cloud-based messaging services including Windows Azure BizTalk Services (WABS), Enterprise Application Integration (EAI), and Windows Azure.
  • 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
  • Lambda expressions have been around for a while, but they seem poorly understood and generally underused. You can juice up your code with these dynamic types from .NET, according to John. Find out how!
  • Derick shows us how to achieve a high level of interactivity in our Web applications with small-scale functionality.
  • In our service-oriented world, users need the same experience on any device, whether mobile phone, office PC, or Internet café. Moreover, they want the same experience any time they access applications, offline or online. For developers, this means tackling multi-tier, distributed, and concurrent programming. LINQ 1.0 radically simplified multi-tier programming with unified query and deep XML support. TESLA is a broad engineering program by the authors to extend the succ...See More
  • Lookup and navigation screens initially seem like no-brainers, when compared to other parts of an application-yet by the time a developer has met all the user requirements and requests, he/she has expended much more time than expected. This issue of The Baker’s Dozen will build a lookup Web page using ASP.NET 2.0, SQL Server 2005, and C# 2.0. The lookup and results page will contain optional lookup criteria and custom paging of the result set. The solution will utilize n...See More
  • In this article you will learn how to isolate yourself from change by taking advantage of the Provider Model.Designing your applications using the Provider Model will allow you to swap components out at runtime, thus allowing you to upgrade them easily.
  • Microsoft seemed to have put XAML out to pasture for a while, but Billy shows us how it’s back, and why even Microsoft is touting its praises.
  • The Module Pattern is not a new topic or unique to JavaScript. Yet for many that are new to JavaScript, the Module Pattern is a topic that eludes. Whether you are an experienced JavaScript developer or are just getting acquainted with the language, knowing what the Module Pattern is and how to implement it, it is absolutely essential if you hope to attain success with JavaScript. In this article, I will briefly cover what the Module Pattern is and how you can immediately apply the pattern.
  • In this interesting exploration of design, John looks at all kinds of design, from architecture to household appliances, showing us the best way to figure out what’s necessary and what isn’t.
  • In another of his edifying series, John shows us how to get a response whether your code fails or succeeds using promises.
  • On the surface, this article is about the techniques of dependency injection and inversion of control.Underneath, the intent of the words and code samples is to get you to think about the questions of “why” and “when” you might want to use these two closely related techniques, as well a series of similar evolutionary techniques that lead up to the full-blown dependency injection. The initial code samples are admittedly (and deliberately) simple; I do not want the content...See More
  • Microservices and Microservices Architecture are what Service Oriented Architecture aimed to be by focusing not only on service decomposition, but also associated characteristics that make your entire application resilient and robust. Miguel explains the what, why, and how of the latest architectural buzz word.
  • When creating a Windows DNA application, it is not enough to start creating COM objects and run them under MTS.Rather what is needed is a standard approach to analyzing DNA applications. This article provides a pattern language for COM objects. The purpose of this pattern language is to standardize discussion of types of components so that the design of these applications becomes more standardized.
  • Rachel takes a close look at F# mailbox processors to help you efficiently process messages. She covers replying, scanning (for a particular message or subject), and coordinating multiple agents, and makes it easy once you know which connections to make.
  • In the second article of the series, Markus talks about keeping your code readable and maintainable by controlling how often and where you reuse objects.