March 2005
[Click to print this article]
Here are the articles that were published in March 2005.
Asynchronous Exceptions
published: Mon, 21-Mar-2005
This article is
an interesting email that was sent out to the CLR team
at Microsoft about asynchronous exceptions. The email is, shall we
say, information-dense. It's targeted at the Framework developers, but
there are some ideas we can take from this as application developers.
Read more...
Business logic in the database
published: Wed, 2-Mar-2005
In my view of multi-tier architectures, the business layer resides in a separate layer from the data storage layer (a.k.a. the database layer), at least when thinking about logical layers rather than physical tiers. In fact, all that appears in the data storage layer are stored procedures to Create, Retrieve, Update, and Delete records (the CRUD procedures). This simple schema has worked pretty well for me in the past. (Updated 3-Mar-05) Read more...
Aborting a Windows service start-up request in .NET
published: Thu, 24-Mar-2005
Yesterday we were debugging a Windows service written in .NET. The issue being debugged was that sometimes (it seemed to happen mostly on Windows 2000 Server, but not every time) the service would hang during stopping. After some work we found the bug and also found how to abort a service start-up request in .NET. Read more...
Encapsulation is not Information Hiding
published: Thu, 17-Mar-2005
I came across this article by
Nat Pryce in the PlanetTW blog.
It came at the right moment.
(Update: it'd help if I gave the post a title.) Read more...
Exceptional rant
published: Mon, 28-Mar-2005
I found
an
interesting story about
a process-deficient software company this morning (via
Larkware).
The story itself was interesting for sure -- it's about the need for
developers to fix their compiler warnings and keep them fixed, a
proposition with which I heartily concur and follow -- but it was the
comments that got my goat. Read more...
What is good-enough software?
published: Tue, 8-Mar-2005
The problem with the term "good enough software" is that it seems to have a slightly grubby connection: software that's just good enough to pass muster. It isn't polished, it isn't clean, perhaps it isn't even maintainable (a one-off program, for example). Read more...
It's all multi-tier, all the way down
published: Tue, 1-Mar-2005
I've been writing a bit recently on multi-tier architectures and the issues that arise when designing, developing, and testing them. Meanwhile, I've also been researching a couple of patterns for an article I'm writing for The Delphi Magazine: Inversion of Control and Dependency Injection. Read more...
Latest articles on CodeFez
published: Tue, 1-Mar-2005
February's editorials on CodeFez. Read more...
Object-Oriented State Machines
published: Thu, 31-Mar-2005
In the March issue ofThe Delphi Magazine, I discussed refactoring
state machines that had been implemented as giant case (or switch) statements into
an object-oriented model. Essentially, the class model I used was the
State pattern as described by the Gang of Four in Design Patterns.
Anyway one of my readers sent me an email that made
a valid point. Read more...
RSS feed Update
published: Thu, 3-Mar-2005
Eeek! I apologize to all those people who subscribe to my blog through my RSS feed. You'll have just received this and the last seven entries again. Read more...
RSS feed: The CityDesk Connection
published: Sat, 5-Mar-2005
An old acquaintance, Jeroen Pluimers, was kind enough to gently point out that my RSS feed was totally, er, sporked. (Updated.) Read more...
Specify IFormatProvider
published: Tue, 15-Mar-2005
This is one of the errors that FxCop spits out and it gets depressing, it happens so often. "Depressing, why?" I hear you ask. Mainly because I've never taken the time to understand what it's on about. Well, tonight I had time to work it out, not that it took a lot of working out. Just one of those things that if you took the time to understand it, it would hold no horrors. (Updated: 15-Mar-2003) Read more...
Unintentional Programming
published: Fri, 11-Mar-2005
We're having a minor discussion here in development about a bug I
found. The bug is completely benign at the moment (indeed, I only
found it through a code review, not through using the product), but
code could easily be written to fire it.
Read more...
Using FxCop
published: Mon, 14-Mar-2005
I've been code reviewing a part of Enterprise Configuration Manager (ECM) over the past week or so, mainly in an effort to help polish the code and also to identify possible problems before they surface and bite our collective butt. The part I've been involved with is the largest part that is implemented in C# and the .NET Framework. Read more...
Why interfaces?
published: Tue, 8-Mar-2005
Even for those developers who are expert in OOP design and programming principles seem to stumble the first time they come across interfaces. It's hard to see why interfaces are so important compared to, say, pure abstract classes. Read more...