-
Building Microservices Architecture Using CQRS and ASP.NET Core
Last updated: Thursday, December 19, 2024
Published in: CODE Magazine: 2025 - Jan/Feb
Joydip Kanjilal explores the Command Query Responsibility Segregation (CQRS) design pattern and its application in microservices architectures built with ASP.NET Core. You'll learn the benefits of using CQRS, including scalability, performance optimization, and maintainability, by isolating read and write operations. Kanjilal provides a comprehensive guide on implementing CQRS with code examples, focusing on creating, updating, and deleting operations using ASP.NET Core Web API, MediatR for mediation, and Entity Framework Core.
-
An Introduction to Distributed Tracing with OpenTelemetry in .NET 7
Last updated: Thursday, December 8, 2022
Published in: CODE Magazine: 2023 - January/February
OpenTelemetry is an open-source distributed tracing framework. Companies that use it can make more informed decisions about their operations. Learn to use it through an example ASP.NET 7 project.
-
Mastering Routing and Middleware in PHP Laravel
Last updated: Thursday, December 8, 2022
Published in: CODE Magazine: 2023 - January/February
Learn about middleware and how to create routes to control incoming HTTP requests with controllers and use route groups in PHP Laravel.
-
CODA: An Architectural Approach to Risk Management and Quality
Last updated: Thursday, November 10, 2022
Published in: CODE Magazine: 2022 - November/December
There are quite a few moving parts on any given project. John looks at some fundamental truths to help you decide how best to proceed.
-
Introduction to Containerization Using Docker
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2021 - March/April
Wei-Meng explains how Docker Engine replaces virtual machines with containers to host the apps and libraries you need, completely independent of which OS you’re using. Docker is written to run natively on the Linux platform. If you're using Windows or Mac OS, Docker creates a Linux virtual machine, which itself hosts the containers.
-
Migrating Monolithic Apps to Multi-Platform Product Lines with .NET 5
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2021 - March/April
Learn to migrate older applications to .NET 5. Learn to use "ports-and-adapters" (hexogonal architecture) along with design patterns and principles from domain-driven design (DDD) to help you modify your old software so you can split the business logic into independent assemblies.
-
Building Multi-Tenant Applications Using ASP.NET 5
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2021 - January/February
This overview of multi-tenant architecture describes the challenges and solutions to using them. Ultimately, multi-tenant gets cheaper over time. Follow along to implement a multi-tenant application in ASP.NET 5
-
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.
-
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.
-
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.
-
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.
-
Getting to the ASP.NET Core
Last updated: Wednesday, June 9, 2021
Published in: CODE Magazine: 2016 - September/October
New releases ASP.NET Core and .NET Core have come up with some interesting high-level architecture that you’ll want to read about. You’ll definitely want to play with these tools after Rick shows you some cool new tricks.
-
Rust
Last updated: Thursday, June 10, 2021
Published in: CODE Magazine: 2016 - September/October
If you need to use a language that compiles to native code and runs without any runtime support, you might consider Rust. Ted takes us on a tour of this new language.
-
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.
-
Why Micro JavaScript Library Should Be Used in Your Next Application
Last updated: Monday, August 2, 2021
Published in: CODE Magazine: 2015 - January/February
Chris shows you not only how, but also why you really want to use a Micro JavaScript Library.
-
The Mythical Business Layer
Last updated: Wednesday, September 1, 2021
Published in: CODE Magazine: 2014 - November/December
Dino explains the business layer so that even a seven-year-old can understand.
-
The Simplest Thing Possible: Understanding the Visual Studio Architectural Tools, Part 2
Last updated: Friday, September 3, 2021
Published in: CODE Magazine: 2014 - September/October
John builds on the modeling tools he showed us in the last issue (Dependency Graph and Layer Diagram) using UML diagrams in Visual Studio.
-
Building Office 365 Cloud Business Apps
Last updated: Monday, December 27, 2021
Published in: CODE Magazine: 2014 - May/June
You already know that using Visual Studio 2013 streamlines building business apps. Beth shows you how to use its Cloud Business App project template to improve collaboration between Office 365, SharePoint, and all your mobile devices.
-
Tips and Tricks for Flexible Code
Last updated: Monday, September 20, 2021
Published in: CODE Magazine: 2014 - May/June
If you want to develop code that’s flexible, extensible, maintainable, and testable, you’ll want to read Paul’s article about some basic things to keep in mind before you start.
-
Hosted Solutions
Last updated: Monday, December 27, 2021
Published in: CODE Magazine: 2014 - March/April
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.
-
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.
-
Visual Studio 2013
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2014 - March/April
Keeping up with Visual Studio’s frequent and often simultaneous releases from multiple sources can be nearly impossible. In another of his edifying series, John Petersen gives us the scoop.
-
Windows Azure Active Directory
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2014 - March/April
Michiel van Otegem explains Software-as-a-Service by comparing various online products and shows you how to store information about users whether you use Active Directory or Windows Azure Active Directory in the cloud.
-
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.
-
Distributed Cache in SharePoint 2013
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2013 - September/October
The future at Microsoft is cloudy, with an increasingly bleak chance of on-premises. It’s interesting to see how Microsoft is aggressively transitioning into a device and services company, and that on-premises applications are getting step-child treatment lately. Almost all of the innovation lately happens on or for the cloud, and if we are lucky, we get morsels of treats in our on-premises doggie bag. I’m not complaining, merely observing. A move to the cloud makes a lot of sense.
-
To MongoDB, or Not to MongoDB
Last updated: Tuesday, April 26, 2022
Published in: CODE Magazine: 2013 - September/October
When I started my company Attachments.me three years ago, NoSQL was a hot topic. Advocates preached impressive benefits:
-
What’s New in RavenDB 2.5
Last updated: Wednesday, April 27, 2022
Published in: CODE Magazine: 2013 - September/October
This article introduces a few of the coolest features in RavenDB 2.5, but before I get to the stuff that will make you drool, there is a slight possibility that you aren't familiar with RavenDB. The next section fixes that, and then I will go into what is new and cool.
-
Building a CODE Framework Service and Consuming It on an iPhone Application
Last updated: Tuesday, May 31, 2022
Published in: VFP Conversion Papers, CODE Magazine: 2013 - May/June
In this article, you will create a CODE Framework RESTful service and an iPhone application from scratch. For the client side, you will utilize XCode (yes, you’ll need a Mac!), which uses Objective-C as the primary language. This article won’t teach you the language; you need to know the basics of Objective-C. Even if you don’t know anything about it but want to code right away, read the article “Building a Twitter Search Client on iOS,” by Ben Scherman, available for all CODE readers in the Xiine application for Windows, Android, and iPhone. For the database, you’ll use any instance of SQL Server 2008. The service will be written in C#, using the latest version of CODE Framework, available on http://codeframework.codeplex.com, where you will find not only the download link, but also a lot of useful information.
-
Hello, Arduino: Write Code That Interacts with the Real World
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2013 - May/June
Take the first step in raising your robot army and meet the Arduino, the microcontroller designed to be approachable and fun. From blinky lights to motors, temperature sensors to wi-fi, RFID to MIDI, you can make your code do stuff.
-
Log Users in to Your Web Application with OpenID or OAuth
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2013 - January/February
Users already have many usernames and passwords for different popular online services, and with OpenID and OAuth, you can leverage those. Why burden users with yet another set of credentials for your site if they can use their Google or Facebook account, or any other OpenID or OAuth account? In this article, I will show you how to do this with ASP.NET 4.5, but more importantly help you understand what’s going on behind the scenes.
-
Building ASP.NET Single Page Applications in HTML 5 with Upshot
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2012 - September/October
A Single Page Application (SPA) is a different way of building HTML 5 applications from traditional Web page development. Instead of spreading the functionality of your Web applications across a collection of separate Web pages with hyperlinks between them, you instead define a single root page that the user lands on and never leaves as long as they are working with your application. You define client-side logic that switches out the data and chunks of content within that page to allow the user to navigate from logical screen to logical screen without ever leaving the page. This means that the user never sees a full page refresh while using your application. They see portions of the screen change based on their interaction, and those changes can be done in a more fluid way with transitions to enhance the user experience. You can also support using the application while offline by storing data client-side, based on some of the newer APIs of HTML 5. Taking this approach makes an SPA feel very much like a desktop application to the end user.
-
Real-Time Web Apps Made Easy with WebSockets in .NET 4.5
Last updated: Saturday, September 26, 2020
Published in: CODE Magazine: 2012 - September/October
In the world of browser-based development, interoperability is king. Unfortunately, interoperability can be at the expense of performance.
-
Understanding Dependency Injection and Those Pesky Containers
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2012 - September/October
We seem to be an industry enamored with buzz words. Even though XmlHttpRequest has been around since the mid-90s, mainstream programmers didn’t give it a second thought until someone attached the term AJAX to it. The same is true for the never-ending quest to put as many different words as we can in front of “driven-development.” Another term that hit the scene in recent years is dependency injection.
-
ASP.NET MVC 4 Highlights, Part 1
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2012 - March/April
Microsoft released ASP.NET MCV 3 just over a year ago. If history is a good indicator of timing, we can expect the next ASP.NET MVC release in the not too distant future. As of this writing’s date, Microsoft has not announced a firm release date. You don’t, however, have to wait to get your hands on the bits. You can download the developer preview here: http://www.asp.net/mvc/mvc4. ASP.NET MVC 4 also runs inside of Visual Studio 10 and the Visual Studio 11 Developer Preview. MVC 4 can be hosted alongside MVC 3. You can find all the details concerning installation in the aforementioned link. As with all developer preview/pre-release software, features sets are subject to change, which may range from minor tweaks to major changes. Please keep that in mind as you evaluate any developer preview as to how you can incorporate it into your development efforts.
-
CODE Framework: Building Services and SOA Business Layers
Last updated: Tuesday, February 19, 2019
Published in: VFP Conversion Papers, CODE Magazine: 2012 - March/April, Markus Egger Talks Tech
In the last issue of CODE Magazine, we took a look at CODE Framework’s WPF features. This time, we are going to look at a completely different area of the framework: Creating business logic and middle tiers as SOA services. SOA is the cornerstone of many modern applications, creating systems that are more maintainable, flexible, and suitable for a wide range of scenarios, ranging from Windows to Web and Mobile scenarios using a wide variety of technologies, and outperforming conventional multi-tiered applications in a range of metrics. Using CODE Framework, it also becomes easy and extremely productive to build SOA layers.
-
Getting the Most Out of the Save Pipeline in Visual Studio LightSwitch
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2011 - March/April
Visual Studio LightSwitch applications consist of three tiers: presentation, logic and data. This article discusses the logic tier and its save pipeline. The save pipeline is where developers write business logic that runs as changes are processed on the logic tier and saved to the data storage tier. The save pipeline is automatically generated with every LightSwitch application. Understanding the processing done in the save pipeline is not required to successfully build and deploy applications with LightSwitch, but adding save pipeline business logic provides additional flexibility and control when data is saved.
-
Inside Visual Studio LightSwitch
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2011 - March/April
Microsoft Visual Studio LightSwitch uses a model-centric architecture for defining, building, and executing a 3-tier LightSwitch application.
-
PostMortem: Harms Millennium MedSpa
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2010 - July/August, Markus Egger Talks Tech
July/August2010 Post Mortem by Markus Egger
-
ASP.NET MVC and the Spark View Engine
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2010 - March/April
Getting friendly with HTML in ASP.NET MVC just got a whole lot easier.In this article, I’ll delve into the Spark View Engine, an alternate view engine for the ASP.NET MVC Framework. Spark’s main goal is to allow HTML to dominate the flow of view development while allowing code to fit in seamlessly.
-
Post Mortem Web Project
Last updated: Thursday, December 16, 2021
Published in: CODE Magazine: 2010 - January/February
First Premier Bankcard (www.firstpremier.com) is the 10th largest issuer of Visa and MasterCard credit cards in the United States.First Premier employs multiple thousands of people spread across the state of South Dakota. A major percentage of the employees at First Premier work in call-center operations helping people apply for credit cards.
-
Reinventing Error Handling
Last updated: Saturday, January 18, 2020
Published in: CODE Magazine: 2010 - January/February
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 capabilities, including class-level error handlers and the ability to fix errors at run time. Above all, you get a new way to look at errors.
-
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.
-
Five Steps Closer to Five Nines with WCF and Windows Azure
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2009 - September/October
Delivering applications and services that are highly available is expensive.
-
Develop Provider-based Features for Your Applications
Last updated: Thursday, February 21, 2019
Published in: CODE Magazine: 2009 - March/April
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’ Provider Model may be a misnomer.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’ Provider Model may be a misnomer.
-
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.
-
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
-
Windows Live Admin Center
Last updated: Saturday, January 18, 2020
Published in: CODE Focus Magazine: 2008 - Vol. 5 - Issue 2 - Windows Live
When developing with Windows Live services, you open your application to a whole new world of software integration. In this fascinating realm of mash-up mania, developers can find tools for adding maps, searches, video, chats, and even social networking services directly into their applications and ultimately right into their users’ browsers. The benefit of adding services like Virtual Earth and Silverlight Streaming are obvious-creating dazzling content and facilitating rich user experiences. Yet services like these are still limited to specific contexts within your program. They are perfectly wonderful for beefing up the user experience in Web sites, but wouldn’t it be great if the folks at Microsoft provided a service that helps you administer user accounts and customize services around your Web site? Well indeed they have, and its name is Windows Live Admin Center (admincenter.live.com).
-
An Entity Data Model for Relational Data Part I: Defining the Entity Data Model
Last updated: Wednesday, February 20, 2019
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 3 - Data Programability
Microsoft’s Entity Data Model allows you to define an application-oriented view of your data consistent with how you reason about that data.Part I of this article describes the Entity Data Model and how it enables you to represent real-world concepts in a way that makes relationships between related pieces of data more explicit and easier to query, navigate, and consume than through the traditional relational database model. Part II of the article discusses how Microsoft’s ADO.NET Entity Framework provides a flexible mapping of an application-oriented conceptual schema in terms of the Entity Data Model to existing relational database schemas. Shyam Pather’s article, “Programming Against the ADO.NET Entity Framework” completes the picture by describing the actual programming model and API exposed by the framework.
-
Introducing the Microsoft Sync Framework: Next Generation Synchronization Framework
Last updated: Tuesday, February 19, 2019
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 3 - Data Programability
The Microsoft® Sync Framework is the new framework and runtime for adding synchronization, roaming, and offline capabilities to applications. It supports peer-to-peer scenarios, works with devices and services, and is agnostic of data types, stores, and protocols. In this article, I’ll cover the high-level vision for the platform as well as the enabled scenarios made possible by the framework for developers, ISVs, and OEMs.
-
ODBC Rocks!
Last updated: Tuesday, February 19, 2019
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 3 - Data Programability
Fifteen years after its launch, ODBC is a firmly entrenched cornerstone of the software industry. This article explains why and will explore the relationship between Microsoft SQL Server and ODBC and discuss where ODBC may go in the future.
-
Programming Against the ADO.NET Entity Framework
Last updated: Wednesday, February 20, 2019
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 3 - Data Programability
The ADO.NET Entity Framework raises the level of abstraction at which developers work with data.Rather than coding against rows and columns, the ADO.NET Entity Framework allows you to define a higher-level Entity Data Model over your relational data, and then program in terms of this model. You get to deal with your data in the shapes that make sense for your application and those shapes are expressed in a richer vocabulary that include concepts like inheritance, complex types, and explicit relationships.The ADO.NET Entity Framework raises the level of abstraction at which developers work with data.Rather than coding against rows and columns, the ADO.NET Entity Framework allows you to define a higher-level Entity Data Model over your relational data, and then program in terms of this model. You get to deal with your data in the shapes that make sense for your application and those shapes are expressed in a richer vocabulary that include concepts like inheritance, complex types, and explicit relationships.
-
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.
-
LINQ to Entities with Erik Maijer
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2007 - November/December
In show #270 Richard and I talked to Erik Meijer from Microsoft about LINQ. In this excerpt we talk about LINQ to Entities.
-
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.
-
Enterprise Application Integration with Microsoft BizTalk Server 2006, Part 2
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2007 - July/August
Enterprise Application Integration (EAI) is a collection of architectural principles combined to integrate new and existing applications both within the enterprise and in business to business or partner integration scenarios. Building on the principles introduced in Part 1 (May/June issue of CoDe Magazine), I’ll provide a step-by-step example of how to implement a solution that addresses a business case and suggest some real-world patterns and techniques for fulfilling the business case.
-
All Input Data is Evil-So Make Sure You Handle It Correctly and with Due Care
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - May/June
IT professionals agree that input is a big source of trouble. Input ultimately determines how applications work and wrong or malicious input may cause serious damage. It is extremely important that developers have this fact firmly in mind and consequently apply adequate countermeasures. Starting from the perspective that all input is evil is a good approach. Reasoning in terms of a whitelist instead of a blacklist is another excellent strategy. Working with strongly typed data is the third pillar of secure applications. This article discusses the role of input data and related attacks in the context of ASP.NET applications.
-
Enterprise Application Integration with Microsoft BizTalk Server 2006-Part 1
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2007 - May/June
Enterprise Application Integration (EAI) is a collection of architectural principles combined to integrate new and existing applications both within the enterprise and in business to business or partner integration scenarios. This article (Part 1) will provide a conceptual overview of BizTalk Server 2006 and how it serves to address the problem domain common in the EAI space. In Part 2, I’ll introduce a business case for implementing an online ordering and fulfillment system and provide a step-by-step example of how to implement a solution that addresses the problem domain.
-
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.
-
Overcome the Barriers Around Using the Custom Class in ASP.NET
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - May/June
In .NET Web applications you can find that in many places custom classes and collections are better choices than the DataSet or DataTable. The custom classes or the custom class collections, which are truly object oriented, allow developers to employ all object-oriented programming techniques.
-
SQLCLR Security and Designing for Reuse
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2007 - May/June
An important principal of software design is that of “least privilege.”Basically, in any given layer of a program, you should only grant minimal access such that the code has rights to only exactly the resources it needs to get its job done-and nothing more. Most SQL Server developers understand this concept: one of the main reasons to use stored procedures is to encapsulate permission to data behind controlled and auditable interfaces, thereby not giving the caller direct access.
-
The Baker’s Dozen: A 13-Step Crash Course for Learning Windows Communication Foundation (WCF)
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2007 - May/June
This article will present a crash-course in the basics of Windows Communication Foundation (WCF). WCF is one of the exciting new capabilities in the .NET 3.0 Framework. It provides a unified and uniform programming model for building distributed applications. Those who previously built multiple code bases to deal with Web services and .NET remoting will surely come to appreciate the power standardization that WCF offers. WCF, like any other new technology, requires research and experimentation to become productive. This article will assume no prior experience with WCF, and will walk you through some basic exercises and steps to show WCF’s capabilities.
-
Best Practices in Game Design for the Ultra-Mobile PC
Last updated: Wednesday, August 31, 2022
Published in: CODE Focus Magazine: 2007 - Vol. 4 - Issue 2 - Mobility
The Ultra-Mobile PC (UMPC) expands the market for PC games that run on Microsoft® Windows® XP, as long as developers consider certain design requirements to ensure a good user experience. In most cases, a single version of games can span both the UMPC and traditional PC platforms.
-
Building a PreserveProperty Control in ASP.NET 2.0
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - March/April
ASP.NET provides a couple of page-level state persistence mechanisms in ViewState and the new ControlState.While both mechanisms work, they both have some limitations in that they are not deterministic for the application developer-ViewState can be turned off and can be very bulky, and ControlState can only be set from within a control implementation. In this article I’ll show another, more flexible state mechanism using a PreservePropertyControl that allows automatic persistence and restoration of field values automatically without requiring ViewState.
-
Purporting the Potence of Process
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - March/April
Do you ever feel like you’re beating your head against a wall? I know I do; quite often, in fact. It seems like developers spend half of their time bending technology to their purposes when the technology doesn’t really quite fit. Well, I’m actually thinking of one problem in particular right now, namely that of validation. Can you think of a more boring topic? There are few, but I think you can agree that it is an extremely important one in business software.
-
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 11: Generics
Last updated: Wednesday, February 20, 2019
Published in: Book Excerpts
Essential C# 2.0 is a clear, concise guide to C#—including the features new to C# 2.0. The book clearly presents material for beginners and experts and provides contrasts and comparisons between C# and other languages. The C# language is covered comprehensively and each important construct is illustrated with succinct code examples. Complete code examples are available online. Mark Michaelis has organized the material for quick access. Graphical “mind maps” at the beginning of each chapter show what material is covered and how each topic relates to the whole.
-
Chapter 6: Process Management
Last updated: Tuesday, February 19, 2019
Published in: Book Excerpts
A process contains its own independent virtual address space with both code and data, protected from other processes. Each process, in turn, contains one or more independently executing threads. A thread running within a process can execute application code, create new threads, create new independent processes, and manage communication and synchronization among the threads.
-
Networks and Services in the Cloud
Last updated: Wednesday, February 20, 2019
Published in: Book Excerpts, Newsletters
A rapid, easy-to-understand approach to delivering a secure, resilient, easy-to-manage, SLA-driven cloud experience. Designing Networks and Services for the Cloud helps you understand the design and architecture of networks and network services that enable the delivery of business-grade cloud services. Drawing on more than 40 years of experience in network and cloud design, validation, and deployment, the authors demonstrate how networks spanning from the Enterprise branch/HQ and the service provider Next-Generation Networks (NGN) to the data center fabric play a key role in addressing the primary inhibitors to cloud adoption–security, performance, and management complexity.
-
Objects - Chapter 1
Last updated: Saturday, January 18, 2020
Published in: Book Excerpts
“This excerpt is from the book, ‘Windows 7 Device Driver’ by Ronald D. Reeves, Published Nov 16, 2010 by Addison-Wesley Professional. Part of theAddison-Wesley Microsoft Technology Series series.l, ISBN 139780321670212, Copyright 2011. For more info please visit the publisher site: http://www.informit.com/title/0321670213
-
Red Gate: Understanding and Troubleshooting Unmanaged Memory Usage in .NET
Last updated: Wednesday, February 20, 2019
Published in: Book Excerpts
Got memory problems? Use Red Gate's ANTS Memory Profile to track down the slow parts!
-
.Finalize():There’s a Time and Place for Everything
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - January/February
Ken Getz's Finalize column for Jan/Feb 07
-
Hosting WCF Services
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2007 - January/February
Windows Communication Foundation (WCF) Services can be hosted with Internet Information Services (IIS); with the new Windows Activation Service (WAS) installed with IIS 7.0; or with any managed application process including console, Windows Forms, Windows Presentation Foundation (WPF), or managed Windows service applications.Selecting the right hosting environment for your services is a choice driven largely by deployment requirements related to transport protocol and operating platform.
-
ASP.NET 2.0 Web Part Infrastructure
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2006 - November/December
Web applications today do a number of things. They could be a banking site, a content management system, or a news Web site. In spite of the diversity of Web applications available today, it almost always makes sense to break a Web page into smaller, reusable widgets
-
Designing for Database Movability
Last updated: Wednesday, February 20, 2019
Published in: SQL Server Observer
Eventually SQL Server databases in a production environment must move from one server to another. It’s important to plan for eventual database moves when architecting a database solution.Designers and developers often overlook the eventuality that a database will need to move to a different server. This month’s column is the first of three dealing with the issues surrounding database moves. In this first part, you’ll learn about the reasons why you should plan for moving a database when you design and architect your application.
-
Detect Web Form Field Changes in ASP.NET
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2006 - September/October
In ASP.NET, the value change related event will be triggered at server side per server control when the value of such a server control (form field) is changed upon postback. In most cases, a group of form fields are correlated with each other and typically correspond to member data in a business object. Thus developers need to check if such a group of form fields has changed as a whole. Unfortunately, the .NET Framework (1.x, 2.0) doesn’t offer an effective solution. This article will present an elegant technique to solve this problem and it can even go further so that you can know which field has changed.
-
.Finalize(): Losing Weight, Again
Last updated: Thursday, February 21, 2019
Published in: CODE Magazine: 2006 - July/August
Ken Getz finalize column - July/Aug 06
-
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.
-
The Baker’s Dozen Doubleheader: 26 Productivity Tips for Managing Data (Part 1 of 2)
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2006 - July/August
Regardless of your .NET language of choice, managing data is a vital skill for most applications. Developers frequently must work with data at different levels, with different tools, and in different forms. This article is the first in a two-part series on some of the more common data challenges that developers face. In Part 1 of this article, I’ll cover some capabilities in ADO.NET 2.0, ASP.NET 2.0, and T-SQL 2005. Part 2 will feature some additional T-SQL 2005 coverage, as well as ways to use .NET 2.0 generics.
-
Creating a Generic Message Display Page for ASP.NET
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2006 - March/April
Creating messages in your Web application should be quick, easy, and most importantly, consistent.They should look like they belong with the rest of the application even if an error occurs. How often have you created a new page to display simple text or a notification message to your users? Wouldn’t it be better if you could reuse an existing template and simply pass in a few parameters to tell it to render an application-specific message? In this article I will show you how to create a reusable Message Display class that reduces displaying messages generically in your application to a single line of code.
-
Having Fun with Code Snippets
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2006 - January/February
Using code snippets can make it quick to add common code pieces to your application. Creating your own snippets allows you to create a library of custom code pieces and share them with other developers.
-
I Object
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2006 - January/February
I Object
-
The Baker’s Dozen: 13 Productivity Tips for ADO.NET 2.0
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2006 - January/February
This installment of “The Baker’s Dozen” presents a variety of tips and techniques to become productive with data handling techniques using ADO.NET 2.0 in Visual Studio 2005. ADO.NET 2.0 is faster than the first version of ADO.NET; in some instances, significantly faster. While many view ADO.NET 2.0 as more evolutionary than revolutionary, it provides many functions to give developers greater control over data access and data manipulation. It also leverages the new database capabilities in SQL Server 2005. In addition, ADO.NET 2.0 simplifies the creation of multiple-database solutions.
-
A Low Level Look at ASP.NET Architecture
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2005 - November/December
ASP.NET is a powerful platform for building Web applications, that provides a tremendous amount of flexibility and power for building just about any kind of Web application. Most people are familiar only with the high level frameworks like WebForms and WebServices which sit at the very top level of the ASP.NET hierarchy. In this article I’ll describe the lower level aspects of ASP.NET and explain how requests move from Web Server to the ASP.NET runtime and then through the ASP.NET HTTP pipeline to process requests.ASP.NET is a powerful platform for building Web applications, that provides a tremendous amount of flexibility and power for building just about any kind of Web application. Most people are familiar only with the high level frameworks like WebForms and WebServices which sit at the very top level of the ASP.NET hierarchy. In this article I’ll describe the lower level aspects of ASP.NET and explain how requests move from Web Server to the ASP.NET runtime and then through the ASP.NET HTTP pipeline to process requests.
-
Configure It Out with the Configuration Management Application Block
Last updated: Wednesday, August 31, 2022
Published in: CODE Magazine: 2005 - May/June
Managing application configuration and meta-data could not get any easier.Every application needs some way to configure itself so that it may interact with a given environment, whether it is customizing the title bar captions for a specific client or setting database connection strings for a development environment. For the simplest of applications, the app.config or machine.config probably meets your needs. For complex applications where security, scalability, and deployment also have to be addressed, you may need something a bit more robust, secure, and scalable. Enter the Configuration Management Application Block.
-
Service-Oriented Architecture
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2005 - May/June
Service-Oriented Architecture, or SOA, is the newest acronym to become a buzzword among developers, IT Managers, and CTOs.It seems that everyone is talking about making an SOA and how much it will improve their operations, yet most people are hard-pressed to define not only what an SOA is, but also to quantify what specific value it might provide to their organizations. Many simply assert that their SOA architecture comprises a group of Web Services through which they can expose business logic over the Internet.
-
Using the CMAB for Enterprise, Client, and User Settings
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2005 - May/June
Applications use many forms of configuration data, storing settings that are used in applications, enterprise, client computers, and user settings.The Configuration Management Application Block (CMAB) is typically used for application settings, but it can be enhanced to support more complicated settings as well.
-
Implications and Repercussions of Partial Classes in the .NET Framework 2.0
Last updated: Wednesday, February 20, 2019
Published in: CODE Magazine: 2005 - March/April
Partial classes are a hot new feature of the next .NET compilers.Specifically designed to overcome the brittleness of tool-generated code, partial classes are a source-level, assembly-limited, non-object-oriented way to extend the behavior of a class. A number of advantages derive from intensive use of partial classes; for example, you can have multiple teams at work on the same component at the same time. In addition, you have a neat and elegant incremental way to add functionality to a class.
-
Preparing for Indigo - Choosing the Right Technology Today
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2005 - March/April
Indigo is the next generation application connectivity and services from Microsoft, superseding the variety of .NET connectivity solutions available today: ASMX Web services, Remoting, and Enterprise Services. Since .NET debuted some five years ago, all three technologies have been inundated in either hype or misconceptions. With Indigo around the corner, it is time to take a long hard look at these three technologies, and separate fact from myth so that you will be best prepared for Indigo. This article starts by examining the existing technologies, describing their merits and shortcomings, putting them in the correct perspective of a modern distributed application, and suggests where to best apply them. Then the article briefly describes the Indigo programming model, and assesses how to best mitigate the cost of the migration.
-
Loosely Coupled Events With COM
Last updated: Thursday, November 24, 2022
Published in: CODE Magazine: 2000 - Spring, Markus Egger Talks Tech
COM+ introduces a new way to architect and extend applications:The COM+ Event Service. This service is extremely flexible and much easier to handle and maintain than all other COM based event models we've seen so far. They are especially useful for business events that can now be published throughout the system without losing any control over business rules.
-
The Bottleneck in Modern Software Projects
Last updated: Thursday, December 9, 2021
Published in: CODE Magazine: 2000 - Summer, Markus Egger Talks Tech
Windows DNA (as well as the recently announced .NET), and component based development in general, are fascinating approaches to application development.They provide great flexibility, scalability and freedom of distribution. Unfortunately, there has been a substantial delay in the widespread implementation of DNA applications. Surprisingly, the responsibility for this delay seems to lie with developers...
-
Remote Object Models In .NET
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2003 - January/February
Modern applications are no longer isolated, stand-alone applications, limited to a single process or machine. Distributed applications allow you to put components in close proximity to the resources they use, allow multiple users to access the application, enable scalability and throughput, and increase overall availability and fault isolation. Component-oriented programming is especially geared towards distribution because it is all about breaking the application into a set of interacting components, which you can then distribute to different locations. .NET has a vast infrastructure supporting distributed applications and remote calls. This article focuses on just a single aspect of .NET remoting: the different object activation models available to a distributed application.
-
UML Collaboration Diagrams
Last updated: Tuesday, February 19, 2019
Published in: CODE Magazine: 2002 - May/June
In well-designed software systems, powerful business objects work together to accomplish a variety of tasks.UML collaboration diagrams are great tools for documenting the flow of messages between objects while providing a unique perspective - a view of the relationships between collaborating objects.
-
UML Sequence Diagrams
Last updated: Wednesday, February 23, 2022
Published in: CODE Magazine: 2002 - March/April
The Sequence Diagram is one of the most interesting and useful diagrams in the Unified Modeling Language (UML).It helps you document and understand the dynamic aspects of your software system?specifically the sequence of messages that are sent and received between objects. Sequence diagrams can help you comprehend and solve difficult issues in the process-intensive portions of your applications.
-
UML Class Diagrams
Last updated: Wednesday, November 30, 2022
Published in: CODE Magazine: 2002 - January/February
Class diagrams are among the centerpieces of the Unified Modeling Language.They are critical for helping you design classes that will serve as building blocks for your application. This article will cover the basics of class diagrams and help you see how you can use them in your software development?especially in building your business object classes.
-
N-Tier Application Design
Last updated: Thursday, December 9, 2021
Published in: CODE Magazine: 2000 - Summer
As applications become more complex, designing with components becomes a very important factor in the successful completion of projects.This article discusses n-tier application design, why it's important to modern application development, and shows strategies for breaking out the tiers using Visual FoxPro.
-
Using XML for Messaging in Distributed Applications (Part 1)
Last updated: Wednesday, December 8, 2021
Published in: CODE Magazine: 2000 - Spring
XML is one of the key technologies that is driving Enterprise Web development today.XML promises a standard data format that can be shared easily by different organizations. In this installation of this two part series, Rick reviews XML's key features and problems as a data representation format for relational data and objects. He'll also introduce some free tools to provide easy translation between XML and traditional data structures and shows how to use them with quick examples sharing data over the Web. Next issue Rick delves into some practical examples of how to implement flexible solutions that utilize these XML tools.
-
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.