-
Project Tye: Creating Microservices in a .NET Way
Last updated: Wednesday, August 31, 2022
Published in: CODE Focus Magazine: 2020 - Vol. 17 - Issue 1 - .NET 5.0
Learn to use Project Tye, an experimental developer's tool that makes the experience of creating, testing and deploying microservices easier in .NET. Note that Tye's deployment target is only to Kubernetes.
-
Use the MVVM Design Pattern in MVC Core: Part 3
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2020 - September/October
Paul shows you how to use the MVVM design pattern in MVC Core to build a product detail page for adding and editing data, and validating product data and display validation.
-
Use the MVVM Design Pattern in MVC Core: Part 1
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2020 - May/June
Learn to use the Model-View-View-Model (MVVM) design pattern, long used in WPF applications, in MVC Core applications. Using MVVM in MVC makes your applications even more reusable, testable, and maintainable.
-
Introduction to GraphQL for .NET Developers: Mutation
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2020 - March/April
Peter uses the Hot Chocolate Library to teach you about GraphQL. Learn how to use the Entity Framework to access and store data and explore mutations using GraphQL.
-
A Design Pattern for Building WPF Business Applications: Part 3
Last updated: Wednesday, March 17, 2021
Published in: CODE Magazine: 2019 - September/October
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.
-
Design Patterns for Distributed Systems
Last updated: Thursday, March 18, 2021
Published in: CODE Magazine: 2019 - September/October
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.
-
Immutability in C#
Last updated: Thursday, April 1, 2021
Published in: CODE Magazine: 2019 - May/June
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.
-
Understanding Microservices and Microservice Architecture
Last updated: Thursday, May 6, 2021
Published in: CODE Magazine: 2018 - January/February
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.
-
Angular and AOT
Last updated: Wednesday, May 12, 2021
Published in: CODE Magazine: 2017 - September/October
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.
-
Writing Concurrent Programs Using F# Mailbox Processors
Last updated: Monday, May 17, 2021
Published in: CODE Magazine: 2017 - July/August
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.
-
Accessing Your Data with F# Type Providers
Last updated: Monday, May 24, 2021
Published in: CODE Magazine: 2017 - March/April
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.
-
Case Study: Writing Microservices with F#
Last updated: Wednesday, June 2, 2021
Published in: CODE Magazine: 2016 - November/December
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.
-
The Resurgence of XAML
Last updated: Wednesday, June 2, 2021
Published in: CODE Magazine: 2016 - November/December
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.
-
How to Write Your Own Programming Language in C#
Last updated: Monday, June 14, 2021
Published in: CODE Magazine: 2016 - July/August
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.
-
Simplest Thing Possible: Dynamic Lambda Expressions
Last updated: Friday, June 11, 2021
Published in: CODE Magazine: 2016 - July/August
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!
-
DevOps and Continuous Delivery: Made for a Cloud World
Last updated: Thursday, June 24, 2021
Published in: CODE Magazine: 2016 - March/April
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.
-
How Functional Reactive Programming (FRP) is Changing the Face of Web Development
Last updated: Monday, June 28, 2021
Published in: CODE Magazine: 2016 - January/February
Joe helps you understand the emerging front-end framework technology that’s showing up everywhere these days.
-
Easier AngularJS Routing with Angular UI Router
Last updated: Thursday, July 15, 2021
Published in: CODE Magazine: 2015 - May/June
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 Simplest Thing Possible: Design
Last updated: Thursday, July 29, 2021
Published in: CODE Magazine: 2015 - January/February
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.
-
XAML Anti-Patterns: Resource Overuse
Last updated: Monday, August 2, 2021
Published in: CODE Magazine: 2015 - January/February, Markus Egger Talks Tech
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.
-
10 Good Practices for ASP.NET MVC Apps
Last updated: Sunday, December 26, 2021
Published in: CODE Magazine: 2014 - May/June
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.
-
Architectural Tools in VS
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2014 - May/June
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.
-
Angular JavaScript Jumpstart
Last updated: Tuesday, December 28, 2021
Published in: CODE Magazine: 2014 - March/April
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.
-
Rich Messaging Endpoints with BizTalk Services
Last updated: Tuesday, December 28, 2021
Published in: CODE Magazine: 2014 - March/April
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.
-
Bootstrap 3: What’s It All About?
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2014 - January/February
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.
-
The Simplest Thing Possible: Promises in JavaScript
Last updated: Thursday, December 30, 2021
Published in: CODE Magazine: 2014 - January/February
In another of his edifying series, John shows us how to get a response whether your code fails or succeeds using promises.
-
Structuring jQuery with Backbone.js
Last updated: Monday, March 28, 2022
Published in: CODE Magazine: 2013 - November/December
Derick shows us how to achieve a high level of interactivity in our Web applications with small-scale functionality.
-
The Simplest Thing Possible: Better JavaScript with the Module Pattern
Last updated: Tuesday, April 26, 2022
Published in: CODE Magazine: 2013 - September/October
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.
-
Mobile Development with Single-Page Applications Using KendoUI
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2013 - July/August
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 devoted to the list of items, a second page to view details, and perhaps a third to edit a specific item.
-
CODE Framework: Accelerating Development with Standard Views and Standard View-Models
Last updated: Friday, June 10, 2022
Published in: VFP Conversion Papers, Markus Egger Talks Tech, CODE Magazine: 2013 - January/February
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-models, but instead can use the ones CODE Framework defines for you out of the box.
-
Behavior-Driven Development Using SpecFlow
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2012 - July/August
As software development becomes complicated, writing unit tests provides a protection against constant changes and modifications. Traditionally, unit tests were written by testing each piece of the application layer in isolation. With the advent of behavior-driven development, now our unit tests can be composed into user defined stories. Each story represents a single feature of the application which can be tested from end to end. This method makes sure that the unit test only passes when the story is completely done. In this article I’ll show you how to use SpecFlow and WatiN to write BDD-style tests to implement user stories.
-
Getting Rid of Your Code Behind
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2012 - July/August
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.
-
Introducing Queues and Topics in Azure Service Bus
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2011 - November/December
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.
-
Entity Framework 4.1: Code First
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2011 - July/August
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.
-
An Introduction to node.js
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2011 - May/June
Brian explores node.js and shows you the basic concepts needed to develop with it.
-
Composite Application Library (Prism) and Silverlight
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2010 - September/October
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!
-
Nerd Dinner on Rails
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2010 - May/June
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:
-
Developing Database Agnostic Applications with Entity Framework
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2010 - March/April
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.
-
Introducing Advanced Code Contracts with the Entity Framework and Pex
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2010 - January/February
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 Contract-First Development? How will it change the way you develop software and write your unit tests? And first and foremost, how do you use Code Contracts efficiently?In this article, I will introduce Design by Contract and Code Contracts, as well as give you a sneak preview of Pex-Microsoft’s new test-suite generator. Along the way, I 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.
-
S.O.L.I.D. Software Development, One Step at a Time
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2010 - January/February
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 created stepping stones that lead to these goals, resulting in software that is easier to read, easier to understand and easier to change. In this article series, I will define three of the primary object-oriented principles and show how to reach them through the five S.O.L.I.D. design principles.
-
The Zen of Inversion of Control
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2009 - March/April
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 of the code to obscure the intent of the code.
-
Build Composite WPF Applications
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2008 - November/December
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, maintainable applications. In this article, I’ll show you what this set of guidance provides and how to use it to build your WPF applications.
-
Heard on .NET Rocks! James Kovacs Inverts Our Control
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2008 - November/December
Nov/Dec 08 .NET Rocks by Carl Franklin
-
Design for Extensibility
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2008 - January/February
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.
-
TESLA: Democratizing the Cloud
Last updated: Tuesday, February 19, 2019
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 3 - Data Programability
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 success of LINQ with external relationships, reshaping combinators, assisted tier-splitting, and join patterns.
-
The Provider Model
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - November/December
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.
-
Layered Architecture, Dependency Injection, and Dependency Inversion
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2007 - May/June
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.
-
The Baker’s Dozen: 13 Steps for Building a Lookup Page Using ASP.NET 2.0, SQL 2005, and C# 2.0
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2007 - March/April
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 new language features in SQL 2005 for providing ranking numbers to correlate with custom paging, and new capabilities in .NET generics to pump the results of a stored procedure into a custom collection. Just like Mr. Mayagi taught Daniel the martial arts by doing exercises, the example in this article will demonstrate some common design patterns, such as factory creation patterns, using .NET generics. The article also subtly presents a general methodology for building database Web pages.
-
Chapter 4 Design Patterns
Last updated: Friday, February 22, 2019
Published in: Newsletters, Book Excerpts
OOP is a powerful concept that solves many problems found in software development. OOP is not the holy grail of programming, but, as we will see throughout this book, it can help in writing code that is easy to read, easy to maintain, easy to update, and easy to expand.
-
Database Concurrency Conflicts in the Real World
Last updated: Saturday, June 24, 2023
Published in: CODE Magazine: 2006 - July/August
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 some possible approaches on how to solve these concurrency issues.
-
Dissecting and Putting the Visual Studio 2005 Generated Data Access Layer Into Perspective
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2006 - July/August
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 made-to-measure data access layer. This article dissects the code behind table adapters and binding source components to unveil patterns and best practices.
-
Windows DNA Development: A Pattern Language
Last updated: Wednesday, December 8, 2021
Published in: CODE Magazine: 2000 - Spring
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.