Browse by Tags

All Tags » Software Design » Quick Tips (RSS)

Reality Check: Chunked operations take a lot of code and are hard to get right (a thread safe chunked file writer)

I've been spending a good portion of the day writing the necessary facilities for doing a multi-threaded chunked download off the web. I often run into situations where I want to grab a file, but I'm on Wi-Fi or the remote site is throttling the band...
Posted by Justin Rogers | with no comments

.NET Immutability Tip #3: Protect your properties AND your methods.

A common immutability practice is to simply protect the property setter with an immutability flag. Take a simple class that has a single integer field for to back our property and a single boolean flag to mark it immutable. using System; public class...

Added the remainder of the VB .NET ports and a JScript .NET port for the Wizard Framework

Well, I had a couple of extra hours while I was sitting around this evening and I used the time to finish porting the Wizard Framework over to VB .NET. Now all articles have a corresponding code-only article that you can look at. I also ported article...
Posted by Justin Rogers | with no comments

Winforms Wizard Series code-updates. Adding full source code drops for VB .NET

I'm not going to convert the articles over, since they aren't really dependent upon the code provided inline to be read. I will be hosting full source dumps in VB .NET for each of the articles though, so you can try this out in VB or take a look at that...

WinForm Wizard Series Article 5: Designable Dialogs and a VS Project Sample

Adding a design time dialog and creating a VS project sample Abstract: Once I actually started using the designer to create my wizards I realized that a designable wizard dialog would be really useful. In fact, I was able to lay out two fairly decent...
Posted by Justin Rogers | with no comments

WinForm Wizard Series Article 4: Designer support for wizard panels, improved inheritance model, and refactoring the code only wizard panels.

Designer support is the only feature people have asked for in the wizard framework series. Since user's felt strongly enough to request that I add designer support, I figured it wouldn't be that difficult. This latest installment in the series talks about...
Posted by Justin Rogers | with no comments

Article 3 on WinForms Wizards - Named Navigation: When Duncan links your articles, you know its time to support them.

Well, I was going to wait a week or so before posting this jewel, but what the heck. I'm really excited about the game I have prepared to make use of the WizardController class, so the faster I get through all of the gritty details, the faster I can get...

.NET Immutability Tip #2: Be careful of unprotected types in the executable.

I've seen this happen quite often. When developers create their immutable types, they assume the only view the user will ever have is of the type through some interface. Normally the interfaces are defined before-hand and included in some library that...

.NET Immutability Tip #1: Nothing is immutable.

I figured I'd start with the obvious. You can never control a machine 100%, so there is always the opportunity that whatever systems of protection you have in place, they can be overcome. This same principle applies to security and cheating systems as...

XSLT used to get all the girls, now it is just a washed up junkie ;-)

Don't flame me yet. I don't think XSLT is really a washed up junkie, but I do have to say that people have really chosen to make extended use almost any other XML technology just to avoid using XSLT. Or do they just not realize how powerful XSLT really...
More Posts Next page »