Sign in
|
Join
|
Help
Peter Ritchie's MVP Blog
This is not a life-saving device.
This Blog
Home
Contact
Tags
.NET 2.0
.NET 3.5
.NET 4.0
.NET 4.5
.NET Development
AntiPattern
C#
C# 3.0
Design/Coding Guidance
DevCenterPost
DevTeach
General
Interesting Find
Microsoft
Non-development
OOD
Patterns
Pontification
Resharper
Software Development
Software Development Guidance
Software Development Practices
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010
Syndication
RSS for Posts
Atom
RSS for Comments
Go
News
Follow @peterritchie
Search
Go
Email Notifications
Go
Archives
March 2013 (3)
February 2013 (1)
January 2013 (2)
November 2012 (4)
September 2012 (4)
August 2012 (1)
May 2012 (1)
April 2012 (1)
February 2012 (3)
January 2012 (3)
December 2011 (1)
November 2011 (5)
October 2011 (2)
September 2011 (2)
August 2011 (1)
July 2011 (1)
June 2011 (1)
May 2011 (3)
April 2011 (1)
March 2011 (2)
February 2011 (1)
December 2010 (4)
November 2010 (2)
October 2010 (2)
August 2010 (1)
June 2010 (2)
May 2010 (4)
April 2010 (6)
March 2010 (1)
February 2010 (6)
December 2009 (1)
August 2009 (1)
July 2009 (1)
May 2009 (1)
April 2009 (1)
March 2009 (3)
January 2009 (3)
November 2008 (6)
October 2008 (2)
September 2008 (2)
August 2008 (8)
July 2008 (8)
June 2008 (5)
May 2008 (8)
April 2008 (1)
March 2008 (4)
February 2008 (6)
January 2008 (4)
December 2007 (4)
November 2007 (1)
October 2007 (4)
September 2007 (2)
August 2007 (3)
July 2007 (2)
June 2007 (4)
May 2007 (5)
April 2007 (2)
March 2007 (4)
February 2007 (3)
January 2007 (1)
November 2006 (2)
October 2006 (5)
September 2006 (6)
August 2006 (2)
July 2006 (7)
March 2006 (2)
Nuggets
.NET 2.0 Breaking Changes
Visual Studio and .NET Framework Feedback
Microsoft Developer Network Forums
Interesting Blogs
Visual Studio Code Analysis Blog
Sara Ford's Blog
Me
Technorati Profile
Browse by Tags
All Tags
»
DevCenterPost
»
Software Development Guidance
»
C#
(
RSS
)
.NET 2.0
.NET 3.5
.NET 3.x
.NET 4.0
.NET 4.5
.NET Development
AntiPattern
C# 3.0
C# 4
Code Contracts
Concurrency
DbC
Design/Coding Guidance
Multithreaded
Patterns
Software Development
Software Development Practices
Software Development Principles
TDD
Unit Testing
Visual Studio 2010
Visual studio 2010 Best Practices
Visual Studio 2012
Mon, Jan 21 2013 11:11
IDisposable and Class Hierarchies
In my previous post , I showed how the Dispose Pattern is effectively obsolete. But, there’s one area that I didn’t really cover. What do you do when you want to create a class that implements IDisposable , doesn’t implement the Dispose...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
C#
,
.NET Development
,
Design/Coding Guidance
,
Patterns
,
DevCenterPost
,
Software Development Guidance
Sun, Jan 20 2013 16:16
The Dispose Pattern as an anti-pattern
When .NET first came out, the framework only had abstractions for what seemed like a handful of Windows features. Developers were required to write their own abstractions around the Windows features that did not have abstractions. Working with these features...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
C#
,
.NET Development
,
Design/Coding Guidance
,
DevCenterPost
,
AntiPattern
,
Software Development Guidance
Tue, Sep 11 2012 14:04
Thread synchronization of non-atomic invariants in .NET 4.5
Now that we’ve seen how a singular x86-x64 focus might affect how we can synchronize atomic invariants , let’s look at non-atomic invariants. While an atomic invariant really doesn’t need much in the way of guarding , non-atomic invariants often do. ...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Design/Coding Guidance
,
DevCenterPost
,
Software Development Guidance
,
Multithreaded
,
.NET 4.5
,
Concurrency
,
Visual Studio 2012
Sun, Sep 9 2012 11:52
Thread synchronization of atomic invariants in .NET 4.5
I've written before about multi-threaded programming in .NET (C#). Spinning up threads and executing code on another thread isn't really the hard part. The hard part is synchronization of data between threads. Most of what I've written about...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
C#
,
.NET Development
,
DevCenterPost
,
Software Development Guidance
,
Multithreaded
,
.NET 4.5
,
Concurrency
Sat, Aug 25 2012 17:12
Visual Studio 2010 Best Practices published
Most of my spare time in the last few months has been taken up by writing Visual Studio 2010 Best Practices . This has now been published and is available through publisher (no longer pre-order) at http://bit.ly/Px43Pw . The pre-order price is still available...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
DevCenterPost
,
Software Development Practices
,
Software Development Guidance
,
Visual Studio 2010
,
Software Development Principles
,
Visual studio 2010 Best Practices
Fri, May 25 2012 12:51
Automated Testing Isn’t Just for Business Logic
I had a conversation with Kelly Sommers the other day that was partially a short support group session on the annoying tendencies of development teams to completely lose focus on the architecture and design principles of a system and let the code base...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
DevCenterPost
,
Unit Testing
,
TDD
,
Software Development Guidance
Thu, Nov 24 2011 8:50
If You’re Using “#if DEBUG”, You’re Doing it Wrong
I was going through some legacy code the other day, refactoring it all over the place and I ran into many blocks of code wrapped in “#if DEBUG”. Of course, after a bit of refactoring in a RELEASE configuration these blocks of code were quickly out...
Posted by
PeterRitchie
|
13 comment(s)
Filed under:
C#
,
.NET Development
,
Design/Coding Guidance
,
DevCenterPost
,
Software Development Guidance
,
Software Development Principles
,
DbC
,
Code Contracts
Wed, Feb 9 2011 18:20
Developing Windows Services in Visual Studio
Inevitably distributed systems often need a Windows service or two for certain tasks. The creation of a Windows service project and hooking up a project installer to the service is fairly straightforward; so, I’m not going to get into much detail...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
Software Development
,
DevCenterPost
,
Software Development Guidance
,
Visual Studio 2010
Wed, Nov 3 2010 8:23
Deep Dive on Closure Pitfalls
I've blogged about closures in C# and their pitfalls before. I keep seeing problems with closures--more now that lambdas expressions and statements ("lambdas") are becoming more widespread--even with experienced developers. So, I'd thought...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
.NET 2.0
,
Design/Coding Guidance
,
.NET 3.x
,
C# 3.0
,
.NET 3.5
,
DevCenterPost
,
C# 4
,
Software Development Guidance
,
.NET 4.0