2009 - May/June
CODE Magazine – the Leading Independent Magazine for .NET Developers
-
Open Source Software
Rod Paddock's May/June 2009 Editorial article.
-
Keep Software Simple
A lot of programmers tend to over engineer their software solutions.In the course of my consulting, I have reviewed many applications from many companies. In many cases I find a lot of areas where the software was just too complex. The reasons for this are varied, but seem to be centered around a few main areas: inappropriate use of design patterns, the “not invented here” syndrome, and building a Cadillac when a Chevy would do the job. You can solve these issues in many ways. All it takes is a little bit of re-thinking on how you build software. This article offers guidance on some things you can do to simplify your software development process
-
Using jQuery with ASP.NET Part 2: Making an AJAX Callback to ASP.NET
This time around I’ll expand on these concepts and show you how you can use jQuery in combination with ASP.NET as an AJAX backend to retrieve data. I’ll also discuss how you can create ASP.NET controls and otherwise interact with jQuery content from ASP.NET pages in Web Forms.
-
Meet the Monkey: A .NET Programmer’s Introduction to Mono
Are you curious about cross-platform .NET applications?Do you have a need or an interest in how to write .NET applications that will run on OS X? Do you need to deploy your application to a *nix box? If you’ve answered “Yes” to one of these last two questions or are curious about running .NET code on *nix, then read on.
-
Bricks and Mortar: Building a Castle
In an application built with object-oriented techniques, objects are the bricks.You construct little pieces of code encapsulated in these bricks. To build bigger structures, you need to hold these bricks together. You can hardwire them together by instantiating dependent objects within your objects, but it makes the whole structure less flexible in the face of change. So you can adopt an inversion of control (IoC) container to act as your mason to assemble your bricks into complex structures that can flex with changing requirements. In this article, I will examine a popular IoC container, Castle Windsor, and how it enables you to build flexible and robust applications. If you are new to IoC containers and dependency injection, I would recommend reading Martin Fowler's article, Inversion of Control Containers and the Dependency Injection Pattern (http://martinfowler.com/articles/injection.html) and my own article from the March 2008 edition of MSDN Magazine, Loosen Up: Tame Your Dependencies for More Flexible Apps (http://msdn.microsoft.com/en-us/magazine/cc337885.aspx).
-
Isolating Dependencies in Tests Using Mocks and Stubs
Unit tests are not “unit” tests if they test things other than the System Under Test (SUT).In order to test a SUT (the class to be tested), a developer must make sure that the class’s dependencies won’t interfere with its unit tests. Enter mocks and stubs.
-
Hudson Continuous Integration Server
Hudson makes continuous integration easy and powerful.Though Hudson is a Java project, it can easily build your .NET applications. You configure Hudson easily via the web interface rather than tweaking XML. With plenty of plugins available to .NET projects, Hudson provides plenty of powerful features.
-
Relational Database Persistence with NHibernate, Part 1
Take advantage of the best relational databases and object-oriented design have to offer without compromising either.Using an object/relational mapping framework like NHibernate, you can significantly reduce the amount of code you write (and therefore potential bugs) for performing standard operations against your database and save the heavy ADO.NET coding for the complicated scenarios.
-
ThoughtWorking: Functional Programming in C# 2.0
Writing software is hard, particularly when the tools you use force you to think at too low a level; it’s time to start thinking about changing the way you write code… by making it easier to write code.Taking on new ways to program doesn’t always mean tossing away your favorite programming language or environment. Sometimes it just means taking a new look at how you’re using your language and trying out a few new ideas. It’s time to take a hard look at your favorite language and see if it’s possible to “fall in love all over again”.