﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Article By </title><link>https://www.c-sharpcorner.com/articles/</link><description>Articles from C# Corner</description><copyright>© 1999 - 2026  CSharp Inc. All contents are copyright of their authors.</copyright><atom:link href="https://www.c-sharpcorner.com/rss/authorarticles.aspx?MemberUniqueName=matthew-cochran" rel="self" type="application/rss+xml" /><item><title>Implementing Equality in C#</title><description>Implementing equality can be tricky. If we follow a few simple rules we can avoid some of the common traps.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/implementing-equality/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/implementing-equality/</guid><pubDate>Tue, 07 Apr 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The Null Problem in C#</title><description>How to solve the problems working with nulls in your model and source code.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/the-null-problem/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/the-null-problem/</guid><pubDate>Tue, 07 Apr 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Modeling Equality in C#</title><description>Modeling equality is more subtle than it first appears.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/modeling-equality/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/modeling-equality/</guid><pubDate>Tue, 07 Apr 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Code Scouting</title><description>This article describes a way to gather information before committing to a particular path.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/code-scouting/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/code-scouting/</guid><pubDate>Tue, 31 Mar 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Static Service Locator Antipattern Fix</title><description>How to fix the static service locator anti-pattern.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/static-service-locator-antipattern-fix/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/static-service-locator-antipattern-fix/</guid><pubDate>Fri, 27 Mar 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Equality Implementation in C#</title><description>In this article you will learn Equality Implementation in C# programming. </description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/C-Sharp-equality-implementation/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/C-Sharp-equality-implementation/</guid><pubDate>Thu, 26 Mar 2015 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>XML Serialization/Deserialization of Immutable Objects</title><description>Here’s a brief example of how to serialize and deserialize immutable objects to XML.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/xml-serializationdeserialization-of-immutable-objects/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/xml-serializationdeserialization-of-immutable-objects/</guid><pubDate>Sun, 18 Apr 2010 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>CochranSanityCheck() method</title><description>I am writing a custom CochranSanityCheck() method.....</description><link>https://www.c-sharpcorner.com/blogs/cochransanitycheck-method1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/cochransanitycheck-method1</guid><pubDate>Thu, 17 Dec 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Interop Without PInvoke - Consuming Native Libraries in C#.</title><description>This article will help get you started consuming native code with C# by writing your own interop layer in C++/CLI as a much cleaner and more flexible alternative to using PInvoke.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/interop-without-pinvoke-consuming-native-libraries-in-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/interop-without-pinvoke-consuming-native-libraries-in-C-Sharp/</guid><pubDate>Mon, 07 Sep 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to the Visitor Pattern</title><description>The power of adding a functional extensibility point to our classes via the visitor pattern is often overlooked. Using a visitor pattern is a very effective means of providing a nice boundary around a set of core classes while at the same time allowing for functional change. This article will demonstrate how the visitor pattern can be used as an extensibility mechanism and provide a boundary to keep core domain classes from getting cluttered.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/introduction-to-the-visitor-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/introduction-to-the-visitor-pattern/</guid><pubDate>Sat, 22 Aug 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>MVC Declarative Binding</title><description>One of the things that makes the bar to implement any “MVC-ish” pattern high is the tremendous amount of plumbing required just to get started in order for the different entities to communicate state changes. This article introduces a utility library that can be used to declaratively bind the model and view encapsulating all the wiring required and making implementation much easier.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/mvc-declarative-binding/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/mvc-declarative-binding/</guid><pubDate>Mon, 08 Jun 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>MVP (Model View Presenter) – Supervising Controller.</title><description>This articles discusses a general implementation of the Supervising Controller MVP (Model View Presenter) pattern for a win-forms application and the use of a dialog broker to allow pulling additional logic into the controller class.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/mvp-model-view-presenter-–-supervising-controller/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/mvp-model-view-presenter-–-supervising-controller/</guid><pubDate>Sun, 12 Apr 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>F# Data Abstraction Layer For C#</title><description>In this article I&amp;#39;ll take a look at building a data abstraction layer in F# and consuming it with C#.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-data-abstraction-layer-for-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-data-abstraction-layer-for-C-Sharp/</guid><pubDate>Mon, 06 Apr 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introducing: .NET Event Cache</title><description>This article introduces a reusable generic event cache component that houses events with custom bubbling capabilities.  This can be used as a component in your business objects to provide event declaration runtime with events that can bubble to other classes.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/introducing-net-event-cache/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/introducing-net-event-cache/</guid><pubDate>Sun, 08 Mar 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Programming From the Outside In for Fluent Interfaces. Part IV - A Real World Application</title><description>In this article we'll look at building a fluent interface to abstract parameter assertions which gives us readable code that closely models spoken&amp;#47;written language. This will make code consuming our API contain less code debt and reduce the total cost of maintenance.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-iv-a-real-world-applica/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-iv-a-real-world-applica/</guid><pubDate>Mon, 09 Feb 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Building a Fluent Interface by Coding From the Outside In - Video Demonstration</title><description>This video demonstrates building a Fluent Interface from a code sketch written for my article series about programming from the outside in.</description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/building-a-fluent-interface-by-coding-from-the-outside-in-video-demonstration/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/building-a-fluent-interface-by-coding-from-the-outside-in-video-demonstration/default.aspx</guid><pubDate>Tue, 03 Feb 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Programming From the Outside In for Fluent Interfaces. Part III</title><description>In a previous article I demonstrated a coding approach that allows us to
easily build a Fluent Interface.&amp;nbsp; In this article we'll pick up where I
left off and develop a more sophisticated&amp;#47;complex structure.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-iii/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-iii/</guid><pubDate>Mon, 02 Feb 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Programming From the Outside In for Fluent Interfaces. Part II</title><description>In this article we’ll cover building a Fluent Interface  in order to
write readable code that closely models spoken&amp;#47;written language.&amp;nbsp; In a
previous article I discussed how we can be more efficient and write better code
by developing from the outside-in.&amp;nbsp; Now we’ll look at a new trick to make
this approach even more effective, the Fluent Interface and Method Chaining.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-ii/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-for-fluent-interfaces-part-ii/</guid><pubDate>Sun, 01 Feb 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Programming From the Outside In. Video Part I</title><description>Modeling an API for a domain is a difficult task. The trick is to get the correct level of encapsulation/abstraction while making the API easy to understand and consume. If we can model our domains at the same level that we understand them linguistically then we are 90% of the way there. This article discusses a programming methodology by which we can build a concise interface that will provide a consistent level of abstraction and is easy to code against. </description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/coding-better-programming-from-the-outside-in-video-part-i/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/coding-better-programming-from-the-outside-in-video-part-i/default.aspx</guid><pubDate>Mon, 26 Jan 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Programming From the Outside In. Part I</title><description>Modeling an API for a domain is a difficult task. The trick is to get the correct level of encapsulation&amp;#47;abstraction while making the API easy to understand and consume. If we can model our domains at the same level that we understand them linguistically then we are 90% of the way there. This article discusses a programming methodology by which we can build a concise interface that will provide a consistent level of abstraction and is easy to code against. </description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-part-i/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-programming-from-the-outside-in-part-i/</guid><pubDate>Sun, 25 Jan 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Coding Better: Using Classes vs. Interfaces</title><description>Using the .NET framework we basically have two ways to provide abstraction for our code: Classes and Interfaces. This article will look at the use of each and cover some things to consider when choosing between them in different situations.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-using-classes-vs-interfaces/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/coding-better-using-classes-vs-interfaces/</guid><pubDate>Sun, 18 Jan 2009 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Friendly Assemblies: Looking at building Truly Reusable Components</title><description>This article discusses how we can hide our base class implementation and require referencing of our objects through their interfaces.  This keeps our own projects loosely coupled and also allows us to publish our assemblies as truly reusable components because they are 100% “Black box”.</description><link>http://www.longhorncorner.com/uploadfile/rmcochran/C-Sharp-friendly-assemblies-looking-at-building-truly-reusable-c/default.aspx</link><guid isPermaLink="true">http://www.longhorncorner.com/uploadfile/rmcochran/C-Sharp-friendly-assemblies-looking-at-building-truly-reusable-c/default.aspx</guid><pubDate>Sat, 06 Dec 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Back on track</title><description>I'm back...</description><link>https://www.c-sharpcorner.com/blogs/back-on-track1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/back-on-track1</guid><pubDate>Sun, 10 Aug 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>VB Object Instantiation: Part I. Constructors</title><description>There are many ways to approach object instantiation.  In this article we'll cover a few of the patterns used to instantiate objects.</description><link>http://www.vbdotnetheaven.com/uploadfile/rmcochran/vb-object-instantiation-part-i-constructors/default.aspx</link><guid isPermaLink="true">http://www.vbdotnetheaven.com/uploadfile/rmcochran/vb-object-instantiation-part-i-constructors/default.aspx</guid><pubDate>Tue, 06 May 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>High Performance Abstraction Layer for Non-Blocking Asynchronous Thread Safe SqlServer Calls</title><description>One of the things I find myself doing frequently is writing (and re-writing) plumbing code to execute database CRUD operations.  I wrote an abstraction layer over asynchronous SqlServer calls that allows developers to correctly make async calls agains SqlServer without having to deal with any of the complex plumbing normally required.  All source code is included with this article.
</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/high-performance-abstraction-layer-for-non-blocking-asynchronous-thread-safe-sqlserver-calls/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/high-performance-abstraction-layer-for-non-blocking-asynchronous-thread-safe-sqlserver-calls/</guid><pubDate>Fri, 25 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Writing Testable Objects</title><description>This article is an introduction to a simple pattern for building more testable classes.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-testable-objects/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-testable-objects/</guid><pubDate>Fri, 18 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>True compile-time AOP (Aspect Oriented Programming) for .NET</title><description>PostSharp is a open source project that enables us to have TRUE build-time AOP whcih is VERY cool....</description><link>https://www.c-sharpcorner.com/blogs/true-compiletime-aop-aspect-oriented-programming-for-net1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/true-compiletime-aop-aspect-oriented-programming-for-net1</guid><pubDate>Thu, 17 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Parameterized Unit Testing... The Best Thing Since Sliced Bread</title><description>Microsoft Research is working on PEX a parameterized unit testing suite which can help you make more reliable software.</description><link>https://www.c-sharpcorner.com/blogs/parameterized-unit-testing-the-best-thing-since-sliced-bread1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/parameterized-unit-testing-the-best-thing-since-sliced-bread1</guid><pubDate>Tue, 15 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Enumerable, Enumerator, and Yielding a &amp;quot;Free&amp;quot; State Machine</title><description>In this article, we look at the power of the yield keyword in C#. Enumerable, Enumerator, and Yielding a Free State Machine</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/enumerable-enumerator-and-yielding-a-free-state-machine/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/enumerable-enumerator-and-yielding-a-free-state-machine/</guid><pubDate>Tue, 15 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Formatting code for C# corner articles</title><description>An easy way to get code formatted for articles.....</description><link>https://www.c-sharpcorner.com/blogs/formatting-code-for-c-sharp-corner-articles1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/formatting-code-for-c-sharp-corner-articles1</guid><pubDate>Mon, 14 Apr 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>F# Tuples and Binding (and more Binding)</title><description>Binding in F# is similar to using variables in C# but there are some big differences. This article discusses one of the most used keywords in F# for binding ("let") and how it is different than setting a C# variable. I also cover the tuple F# data structure.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-tuples-and-binding-and-more-binding/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-tuples-and-binding-and-more-binding/</guid><pubDate>Wed, 26 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Methods, Delegates, Anonymous Delegates, and Lambda Expressions... Oh My!</title><description>This article covers different syntax we can use for declaring and executing methods.</description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/methods-delegates-anonymous-delegates-and-lambda-expressions-oh-my/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/methods-delegates-anonymous-delegates-and-lambda-expressions-oh-my/default.aspx</guid><pubDate>Sat, 22 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Getting Started With F#</title><description>This is the first in a series of articles discussing the F# programming language.  I cover how to get your dev environment set up to develop with this awesome NET Framework language</description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/getting-started-with-fsharp/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/getting-started-with-fsharp/default.aspx</guid><pubDate>Sat, 22 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Consolidate Your Binding Code</title><description>I've noticed that in data driven UI projects there is often lots of repeated code wherever there is data binding. In this article we'll look at consolidating all the binding code in a helper class to make projects much easier to maintain by reducing the amount of code we have to dig through.</description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/consolidate-your-binding-code/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/consolidate-your-binding-code/default.aspx</guid><pubDate>Sat, 22 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>F# Types and the Forward Pipe Operator</title><description>Looking at F# Types (Especially Functions) and the Forward-Pipe Operator.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-types-and-the-forward-pipe-operator/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/fsharp-types-and-the-forward-pipe-operator/</guid><pubDate>Sat, 22 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming with C# - Composition</title><description>In this article we'll look at using a couple different functional approaches to implementing a basic formula through composition including using monads.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-composition/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-composition/</guid><pubDate>Wed, 05 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Writing Better Code; Keeping it Maintainable</title><description>This article provides guidance for writing better, more maintainable code.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-–-keepin’-it-maintainable/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-–-keepin’-it-maintainable/</guid><pubDate>Sat, 01 Mar 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Writing Better Code - Keepin' it Extensible</title><description>In a previous article I talked about how to keep code cohesive by applying the Single Responsibility Principle. I wanted to explore part of another principle of software engineering that will help our code be extensible and can handle growth and change.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-keepin-it-extensible/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-keepin-it-extensible/</guid><pubDate>Thu, 21 Feb 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Writing Better Code -- Keepin&amp;#39; it Cohesive</title><description>One of the aspects of code quality we can look at is cohesion.  If code is highly cohesive it is also much more testable, reusable, readable and maintainable (all the good things in life).  Likewise, </description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-keepin-it-cohesive/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/writing-better-code-keepin-it-cohesive/</guid><pubDate>Fri, 15 Feb 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Implementing the Passive View -- a Derivative of the Model-View-Control </title><description>This article demonstrates an implementation of the "Passive View Pattern" (based on the "Model View Control Pattern") for windows user controls.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/implementing-the-passive-view-a-derivative-of-the model-view-control/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/implementing-the-passive-view-a-derivative-of-the model-view-control/</guid><pubDate>Sun, 27 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Generic Identity Map -- Creating an Object Pool for Multiple Object Types</title><description>This article demonstrates a technique through which we can have a type-safe pool object that holds references to many different types of objects.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/C-Sharp-generic-identity-map-creating-an-object-pool-for-multiple-object-types/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/C-Sharp-generic-identity-map-creating-an-object-pool-for-multiple-object-types/</guid><pubDate>Sun, 27 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming with C#: Dynamic List Generation</title><description>This article covers how to use functions as the basis for generating lists given some initial seed values. This technique is useful for constructing different types of numeric series, calculating growth and decay, and also useful for searching algorithms.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-dynamic-list-generation/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-dynamic-list-generation/</guid><pubDate>Sun, 27 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming with C#: Advanced Asynchronous Programming</title><description>I wrote about functional asynchronous programming in an earlier article and now will expand on the topic to look at ways to re-synchronize results from asynchronous function calls.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-advanced-asynchronous-programming/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-advanced-asynchronous-programming/</guid><pubDate>Mon, 21 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming with C#: Lazy Calculation</title><description>I ran across Mike Gold’s nice algorithm for finding primes using LINQ syntax and thought I’d use his idea as a base from which to demonstrate one of the more subtle features in functional programming: lazy calculation.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-lazy-calculation/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-lazy-calculation/</guid><pubDate>Sun, 20 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming with C#: Asynchronous Method Calls</title><description>With the functional programming style and extension methods it is extremely easy to execute methods asynchronously. This article cover some simple extension methods that will allow you to easily execute your methods asynchronously with threads from the thread pool.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-asynchronous-method-calls/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-with-C-Sharp-asynchronous-method-calls/</guid><pubDate>Sun, 20 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Running the command prompt from visual studio tools menu</title><description>This article tells you how to run visual studio command prompt from inside the visual studio.</description><link>https://www.c-sharpcorner.com/uploadfile/rmcochran/running-the-command-prompt-from-visual-studio-tools-menu/default.aspx</link><guid isPermaLink="true">https://www.c-sharpcorner.com/uploadfile/rmcochran/running-the-command-prompt-from-visual-studio-tools-menu/default.aspx</guid><pubDate>Thu, 17 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Matt's Corner</title><description>Ramblings...</description><link>https://www.c-sharpcorner.com/blogs/matts-corner1</link><guid isPermaLink="true">https://www.c-sharpcorner.com/blogs/matts-corner1</guid><pubDate>Sun, 13 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Functional Programming in C#: Currying</title><description>Currying is a way to re-write a function with multiple arguments in such a way as it can be called as a chain of functions each with a single argument. This article covers using a few simple utility m</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-in-C-Sharp-currying/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/functional-programming-in-C-Sharp-currying/</guid><pubDate>Sun, 13 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to Functional Programming in C#</title><description>With the release of the 3.5 framework, we have a completely different coding style available (functional programming). We could actually do functional programming in the 2.0 framework, but the resulting code was ugly and hard to understand at a glance and thus hard to maintain. Now, with lambda method syntax and extension methods, we can produce very human-readable code written in a functional style.</description><link>https://www.c-sharpcorner.com/UploadFile/rmcochran/introduction-to-functional-programming-in-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/UploadFile/rmcochran/introduction-to-functional-programming-in-C-Sharp/</guid><pubDate>Sun, 13 Jan 2008 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Cartesian Products and Permutations of Groups Using C# Generic Iterators</title><description>Many problems we run into as developers deal with slicing and dicing groups of objects. In this article I'll cover building a library of utility methods using C# object enumerators to perform group permutations and find Cartesian products of groups.</description><link>https://www.c-sharpcorner.com/article/cartesian-products-and-permutations-of-groups-using-C-Sharp-gener/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/cartesian-products-and-permutations-of-groups-using-C-Sharp-gener/</guid><pubDate>Tue, 09 Oct 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Asynchronous Multi-Threaded Active Directory User/Group Browser</title><description>I was working on a win forms project that queries Active Directory information for user and group information and thought the approach may be of interest to some c-sharpcorner readers as a simple example of a asynchronous multi-threaded win forms application.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-asynchronous-multi-threaded-active-directory-usergroup-b/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-asynchronous-multi-threaded-active-directory-usergroup-b/</guid><pubDate>Mon, 01 Oct 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to Building a Plug-In Architecture Using C#</title><description>In this article we'll take another look at how we can use the state pattern to build a plug-in architecture that will allow us to change the behavior of our application by placing differnt plug-ins into a folder.</description><link>https://www.c-sharpcorner.com/article/introduction-to-building-a-plug-in-architecture-using-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/introduction-to-building-a-plug-in-architecture-using-C-Sharp/</guid><pubDate>Mon, 10 Sep 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Multi-threaded Asynchronous Programming in C#... Through The Web Page. Part VI</title><description>Async web pages which are primarily used as a server performance enhancement.  There are two main methods we will be looking at that are used to execute operations asynchronously from web pages: Page.AddOnPreRenderCompleteAsync() and Page.AddOnPreRenderCompleteAsync().</description><link>https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-through-the-webpage-part4/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-through-the-webpage-part4/</guid><pubDate>Fri, 27 Jul 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Flat File Parsed to XML Using C#</title><description>I ran across an interesting problem today where I had to parse a flat file (csv or tab delimited) into an xml document. The solution I arrived at is flexible enough for reuse so I though I'd share the library along with some of my development notes.</description><link>https://www.c-sharpcorner.com/article/flat-file-parsed-to-xml-using-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/flat-file-parsed-to-xml-using-C-Sharp/</guid><pubDate>Sun, 01 Jul 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Object Instantiation in C#. Part V Just Don&amp;#39;t Do It</title><description>There are many ways to approach object instantiation.&amp;#160;In this article we&amp;#39;ll cover a few of the patterns used to instantiate objects. In this final article in the series, we&amp;#39;ll be looking </description><link>https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-v-just-dont-do-it/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-v-just-dont-do-it/</guid><pubDate>Fri, 29 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Object Instantiation in C#: Part IV - The Builder Pattern</title><description>There are many ways to approach object instantiation. In this article we’ll cover a few of the patterns used to instantiate objects. In the next article, we will take a look at the builder pattern for</description><link>https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-iv-the-builder-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-iv-the-builder-pattern/</guid><pubDate>Wed, 27 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Object Instantiation in C#: Part III - Abstract Factories</title><description>There are many ways to approach object instantiation.&amp;#160;In this article we’ll cover a few of the patterns used to instantiate objects. In this article, we&amp;#39;ll look at building a couple kinds of </description><link>https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-iii-abstract-factories/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-iii-abstract-factories/</guid><pubDate>Mon, 25 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Object Instantiation in C#: Part II - Factory Methods</title><description>There are many ways to approach object instantiation.&amp;#160;In this article we’ll cover a few of the patterns used to instantiate objects. We&amp;#39;ll look at different instantiation patterns used to con</description><link>https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-ii-factory-methods/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/object-instantiation-in-C-Sharp-part-ii-factory-methods/</guid><pubDate>Sun, 24 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Object Instantiation: Part I - Constructors</title><description>There are many ways to approach object instantiation.  In this article we&amp;#39;ll cover a object instantiation with the constructor method on the class. The constructor is a method with no return type </description><link>https://www.c-sharpcorner.com/article/C-Sharp-object-instantiation-part-i-constructors/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-object-instantiation-part-i-constructors/</guid><pubDate>Sun, 24 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>A Strategy for Using Delegates in C#</title><description>In a recent article comment I was asked for a sample of how to use a delegate and so I wanted to put together a sample of how we can use delegates in order to implement a strategy pattern in a way tha</description><link>https://www.c-sharpcorner.com/article/a-strategy-for-using-delegates-in-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/a-strategy-for-using-delegates-in-C-Sharp/</guid><pubDate>Fri, 15 Jun 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Multi-threaded Asynchronous Programming in C#... Through The Web Service. Part V</title><description>In my last article I discussed a general approach to building an async architecture.  In this article we’ll look at extending this basic architecture and incorporating async web services.

</description><link>https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-through-the-webpage-part5/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-through-the-webpage-part5/</guid><pubDate>Sun, 27 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Custom Generic EventArgs</title><description>Before .NET 2.0, I found myself frequently creating custom EventArgs classes just to return a value from an event and would end of with a lot of extra classes bloating my code base that all basically had the same purpose.</description><link>https://www.c-sharpcorner.com/article/custom-generic-eventargs/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/custom-generic-eventargs/</guid><pubDate>Mon, 14 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Multi-threaded Asynchronous Programming in C#... Event-Driven Architecture. Part IV.</title><description>This is a continuation of a set of articles on Asynchronous multi-threaded development using C#. In this article we'll cover the basics of building an event-driven architecture which will be a basis for most multi-threaded apps. Also we'll cover async read/write operations on a file.</description><link>https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-event-drive/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-event-drive/</guid><pubDate>Mon, 14 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Multi-threaded Asynchronous Programming in C#.  Async Database Calls. Part III.</title><description>In my last couple articles we looked at basic ways to have long-running i/o bound process be handled by the ThreadPool using the asynchronous programming model. In this article we’ll take a look at coding async calls against SqlServer which really comes in handy in production environments where our database is on another machine.</description><link>https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-async-databa/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-async-databa/</guid><pubDate>Mon, 14 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Asynchronous, Multi Threaded Development... Digging In. Part II</title><description>In this article we'll dig a bit deeper into what is actually happening when we use the asynchronous calls using C#. Just as in my previous article, we'll simulate a long running I/O bound process as if we were fetching records from a database, making a web service call or reading or writing from a file and see how we can write more performant code by letting the main thread continue on and not wait for the results. </description><link>https://www.c-sharpcorner.com/article/C-Sharp-asynchronous-multi-threaded-development-digging-in-p/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-asynchronous-multi-threaded-development-digging-in-p/</guid><pubDate>Sun, 13 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Multi-threaded Asynchronous Programming in C#... Getting started.</title><description>Trying to build better solutions and growing as a developer has always been fun for me and I’m always looking for ways to build more scalability and robustness in the software I am writing.  I had a revelation that I’ve been doing a lot of C# tweaking but not taking advantage of the core performance enhancements cooked right into C# and it all comes down to one thing: Asynchronous multi-threaded programming.</description><link>https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-getting-sta/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/multi-threaded-asynchronous-programming-in-C-Sharp-getting-sta/</guid><pubDate>Sat, 12 May 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The GOF "Chain of Responsibility" Design Pattern</title><description>The Chain of Responsibility pattern is used to pass responsibility for handling a call to another class. This article gives a basic overview of the pattern.</description><link>https://www.c-sharpcorner.com/article/the-gof-chain-of-responsibility-design-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/the-gof-chain-of-responsibility-design-pattern/</guid><pubDate>Thu, 18 Jan 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The Difference Between the Two GOF Patterns "Strategy" and "State"</title><description>The GOF Strategy and State patterns are remarkably similiar and it is really only a minor implementation detail that distinguishes the two.</description><link>https://www.c-sharpcorner.com/article/the-difference-between-the-two-gof-patterns-strategy-and/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/the-difference-between-the-two-gof-patterns-strategy-and/</guid><pubDate>Thu, 18 Jan 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# ASP.NET Server Control: Rollover Image Button</title><description>This article demonstrates how to extend the ImageButton ASP.NET server control to provide rollover functionality.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-Asp-Net-server-control-rollover-image-button/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-Asp-Net-server-control-rollover-image-button/</guid><pubDate>Tue, 16 Jan 2007 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>VB.Net Defensive Event Publishing using Interfaces</title><description>In order to ensure that our events behave as intended we can use interfaces to control access, the classes that subscribe to the events, and the event registration process. To do this, we can write "observer"-type interfaces for notification, subscription and un-subscription to events because the VB.Net event model is based on the Observer GOF pattern.</description><link>http://www.vbdotnetheaven.com/UploadFile/rmcochran/defensiveEvents11152006065023AM/defensiveEvents.aspx</link><guid isPermaLink="true">http://www.vbdotnetheaven.com/UploadFile/rmcochran/defensiveEvents11152006065023AM/defensiveEvents.aspx</guid><pubDate>Thu, 16 Nov 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Introduction to Fuzzy Computing: Part I</title><description>Boolean logic often fails to adequately simulate real-world conditions because things are never simply just black and white (or zeroes and ones) but exist in millions of shades of grey.  This article </description><link>https://www.c-sharpcorner.com/article/C-Sharp-introduction-to-fuzzy-computing-part-i/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-introduction-to-fuzzy-computing-part-i/</guid><pubDate>Wed, 15 Nov 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Friendly Assemblies: Looking at Building Truly Reusable Components</title><description>This article discusses how we can hide our base class implementation and require referencing of our objects through their interfaces.  This keeps our own projects loosely coupled and also allows us to publish our assemblies as truly reusable components because they are 100% “Black box”.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-friendly-assemblies-looking-at-building-truly-reusable-c/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-friendly-assemblies-looking-at-building-truly-reusable-c/</guid><pubDate>Wed, 01 Nov 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# .NET 2.0 Test Driven Development</title><description>This article will demonstrate test driven development by stepping through the test driven development cycle using a small sample project.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-net-2-0-test-driven-development/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-net-2-0-test-driven-development/</guid><pubDate>Mon, 09 Oct 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The .NET 2.0 Framework Provider Pattern</title><description>The Provider Model Design Pattern  was first introduced with the .NET 1.1 framework, specifically in the ASP.NET starter kits and was formalized in ASP.NET Whidbey as a membership management provider API (Application Program Interface). It's primary purpose is to separate the definition for an API from the implementation.  This keeps the API flexible by enabling the core functionality to be flexible and easily changed.</description><link>https://www.c-sharpcorner.com/article/the-net-2-0-framework-provider-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/the-net-2-0-framework-provider-pattern/</guid><pubDate>Fri, 11 Aug 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to the GOF Strategy Pattern in C#</title><description>For this article, we’ll be building an exciting calculation engine that does remarkable things like adding, subtracting, multiplying and dividing through implementation of the strategy pattern.</description><link>https://www.c-sharpcorner.com/article/introduction-to-the-gof-strategy-pattern-in-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/introduction-to-the-gof-strategy-pattern-in-C-Sharp/</guid><pubDate>Tue, 08 Aug 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The GOF Abstract Factory Design Pattern In C#</title><description>This article covers the basics of the GOF Abstract Factory design pattern by looking at building Model T automobiles.  </description><link>https://www.c-sharpcorner.com/article/the-gof-abstract-factory-design-pattern-in-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/the-gof-abstract-factory-design-pattern-in-C-Sharp/</guid><pubDate>Fri, 04 Aug 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Random isn't Really Random -- C# Random Number Generation</title><description>This article covers overriding the System.Random object in order to produce better random numbers.  The project file contains a library of eight commonly used random number generating algorithms, the best of which is the Mersenne Twister algorithm.</description><link>https://www.c-sharpcorner.com/article/random-isnt-really-random-C-Sharp-random-number-generation/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/random-isnt-really-random-C-Sharp-random-number-generation/</guid><pubDate>Tue, 18 Jul 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Artificial Intelligence (AI) Programming: A Basic Object Oriented (OOP) Framework for Neural Networks</title><description>A Neural Network is an Artificial Intelligence (AI) methodology that attempts to mimic the behavior of the neurons in our brains. In this article, we’ll be building a basic framework for AI Neural Net</description><link>https://www.c-sharpcorner.com/article/C-Sharp-artificial-intelligence-ai-programming-a-basic-object/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-artificial-intelligence-ai-programming-a-basic-object/</guid><pubDate>Tue, 20 Jun 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>An Elegant C# Data Access Layer using the Template Pattern and Generics</title><description>The GOF Template pattern coupled with .NET 2.0 Framework generics provides an awesome synergistic alliance.  This article demonstrates how to drastically reduce the amount of code required  in buildin</description><link>https://www.c-sharpcorner.com/article/an-elegant-C-Sharp-data-access-layer-using-the-template-pattern-a/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/an-elegant-C-Sharp-data-access-layer-using-the-template-pattern-a/</guid><pubDate>Mon, 22 May 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Anonymous Methods &amp;amp; The Action Object</title><description>Two interesting additions to the 2.0 C# language are the Action&amp;lt;&amp;gt; object, and anonymous methods. The Action&amp;lt;&amp;gt; object lets you specify an action to be performed on an object and the anonymo</description><link>https://www.c-sharpcorner.com/article/C-Sharp-anonymous-methods-the-action-object/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-anonymous-methods-the-action-object/</guid><pubDate>Tue, 04 Apr 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# 2.0 Yield Return Iterator</title><description>One interesting new feature of the C# 2.0 is the “yield” keyword. Basically it is used to iterate through objects returned by a method. It creates a state engine in IL so you can create methods that retain their state and don’t have to go through the pain of maintaining state in your code.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-2-0-yield-return-iterator/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-2-0-yield-return-iterator/</guid><pubDate>Tue, 04 Apr 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Defensive Event Publishing Using Interfaces</title><description>This article explains how to use interfaces for C# Defensive Event Publishing.</description><link>https://www.c-sharpcorner.com/article/C-Sharp-defensive-event-publishing-using-interfaces/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-defensive-event-publishing-using-interfaces/</guid><pubDate>Mon, 03 Apr 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Interface Based Development</title><description>When trying to build maintainable, reusable, and flexible C# code, the object oriented nature of C# only gets us 50% of the way there. Programming to interfaces can provide us with the last 50%.  Inte</description><link>https://www.c-sharpcorner.com/article/C-Sharp-interface-based-development/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-interface-based-development/</guid><pubDate>Mon, 06 Mar 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>The C# Value Type and Boxing</title><description>Even though with the .NET framework we don't have to actively worry about memory management and garbage collection (GC), we still have to keep memory management and GC in mind in order to optimize the performance of our applications.  One of the things we need to be aware of is how the Common Language Runtime (CLR) deals with references to value types. </description><link>https://www.c-sharpcorner.com/article/the-C-Sharp-value-type-and-boxing/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/the-C-Sharp-value-type-and-boxing/</guid><pubDate>Fri, 17 Feb 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Wrapper Patterns in C#, Part IV: The Adapter Pattern</title><description>In this series of four articles, we will travel down the C# rabbit hole and see how it is all possible with some wrapper patterns: Proxy, Decorator, and Adapter.  </description><link>https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-iv-the-adapter-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-iv-the-adapter-pattern/</guid><pubDate>Thu, 16 Feb 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Wrapper Patterns in C#, Part III: The Decorator Pattern</title><description>Did you ever wish for a superhuman power to be impervious to bullets or travel outside your body? How about the superpower to be able to breathe underwater or fly?   Or how about a changing the way you look so you can disguise yourself as anyone, or anything?  In this series of four articles, we will travel down the C# rabbit hole and see how it is all possible with some wrapper patterns: Proxy, Decorator, and Adapter.</description><link>https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-iii-the-decorator-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-iii-the-decorator-pattern/</guid><pubDate>Wed, 15 Feb 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Wrapper Patterns in C#, Part II: The Proxy Pattern</title><description>Did you ever wish for a superhuman power to be impervious to bullets or travel outside your body?  How about the superpower to be able to breathe underwater or fly?  Or how about a changing the way you look so you can disguise yourself as anyone, or anything?  In this series of four articles, we will travel down the C# wrapper rabbit hole and see how it is all possible with some patterns: Proxy, Decorator, and Adapter.  </description><link>https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-ii-the-proxy-pattern/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-ii-the-proxy-pattern/</guid><pubDate>Tue, 14 Feb 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Wrapper Patterns in C#: Part I</title><description>Did you ever wish for a superhuman power to be impervious to bullets or travel outside your body?  How about the superpower to be able to breathe underwater or fly?  Or how about a changing the way you look so you can disguise yourself as anyone, or anything?  In this series of four articles, we will travel down the C# wrapper rabbit hole and see how it is all possible with some patterns: Proxy, Decorator, and Adapter.  </description><link>https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-i/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/wrapper-patterns-in-C-Sharp-part-i/</guid><pubDate>Mon, 13 Feb 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Understanding C# Events: What They Are and Where They Came From</title><description>To help you get a working knowledge of C# events and event handling, this article explains where events come from, what they really are at a functional level and how they are expressed in C#. This article specifically looks at the Gang Of Four (GOF) Observer pattern.</description><link>https://www.c-sharpcorner.com/article/understanding-C-Sharp-events-what-they-are-and-where-they-came-f/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/understanding-C-Sharp-events-what-they-are-and-where-they-came-f/</guid><pubDate>Mon, 30 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Heap(ing) Vs Stack(ing) In .NET - Part Four</title><description>Having a basic understanding of how memory management works will help explain the behavior of the variables we work with in every program we write.  In this article we’ll look further into Garbage Col</description><link>https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-iv/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-iv/</guid><pubDate>Mon, 30 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Using The Proxy Pattern To Define Relationships</title><description>I was recently working on a 2.0 Framework project where we had many types of related objects.  However, we needed to ensure that there were not multiple instances of the same object in memory.  Usuall</description><link>https://www.c-sharpcorner.com/article/C-Sharp-using-the-proxy-pattern-to-define-relationships/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-using-the-proxy-pattern-to-define-relationships/</guid><pubDate>Mon, 23 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Heap(ing) Vs Stack(ing) In .NET - Part Two</title><description>Having a basic understanding of how memory management works will help explain the behavior of the variables we work with in every program we write.  In this article I&amp;#39;ll cover some of the behavior</description><link>https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-ii/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-ii/</guid><pubDate>Sun, 15 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Heap(ing) Vs Stack(ing) In .NET - Part Three</title><description>Having a basic understanding of how memory management works will help explain the behavior of the variables we work with in every program we write.  In this article we’ll cover an issue that arises fr</description><link>https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-iii/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-iii/</guid><pubDate>Sun, 15 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>C# Heap(ing) Vs Stack(ing) In .NET - Part One</title><description>Even though with the .NET framework we don&amp;#39;t have to actively worry about memory management and garbage collection (GC), we still have to keep memory management and GC in mind in order to optimize</description><link>https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-i/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/C-Sharp-heaping-vs-stacking-in-net-part-i/</guid><pubDate>Sat, 14 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Types of Variables</title><description>In this article we'll cover the behaviors of variables to Reference Types.</description><link>http://www.dotnetheaven.com/Uploadfile/rmcochran/csharp_memory201312006235259PM/csharp_memory2.aspx</link><guid isPermaLink="true">http://www.dotnetheaven.com/Uploadfile/rmcochran/csharp_memory201312006235259PM/csharp_memory2.aspx</guid><pubDate>Sat, 14 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Types of Variables</title><description>In this article we&amp;#39;ll cover the behaviors of variables to Reference Types.</description><link>https://www.c-sharpcorner.com/article/types-of-variables/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/types-of-variables/</guid><pubDate>Sat, 14 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Learning Delegates In C#</title><description>There is this thing in C# called a delegate, which is going to be crucial to build interactions between our objects. What’s a delegate, you ask?  Good question.  A delegate is a pointer to a method.  </description><link>https://www.c-sharpcorner.com/article/learning-delegates-in-C-Sharp-an-introduction/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/learning-delegates-in-C-Sharp-an-introduction/</guid><pubDate>Tue, 03 Jan 2006 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to Model View Control (MVC) Pattern using C#</title><description>The benefits of using the Model-View-Control (MVC) pattern in our development projects is that we can completely decouple our business and presentation application layers.  Furthermore, we will have a</description><link>https://www.c-sharpcorner.com/article/introduction-to-model-view-control-mvc-pattern-using-C-Sharp/</link><guid isPermaLink="true">https://www.c-sharpcorner.com/article/introduction-to-model-view-control-mvc-pattern-using-C-Sharp/</guid><pubDate>Mon, 12 Dec 2005 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item><item><title>Introduction to Model View Control (MVC) Pattern using C#</title><description>The benefits of using the Model-View-Control (MVC) pattern in our development projects is that we can completely decouple our business and presentation application layers.  Furthermore, we will have a completely independent object to control the presentation layer.</description><link>http://www.dotnetheaven.com/Uploadfile/rmcochran/MVC_intro02012006001723AM/MVC_intro.aspx</link><guid isPermaLink="true">http://www.dotnetheaven.com/Uploadfile/rmcochran/MVC_intro02012006001723AM/MVC_intro.aspx</guid><pubDate>Mon, 12 Dec 2005 00:00:00 GMT</pubDate><author>noreply@c-sharpcorner.com (Matthew Cochran)</author></item></channel></rss>