views:

81

answers:

3

The Gang of Four, Uncle Bob, Extreme Programming and Alt.net are great for high level enterprise level programming methodologies. However, I find they refer to these "primitive" design patterns for which I need a learning source.

Where would I read about these primitive software engineering concepts? For example, a "Value Pattern" would typically use an operator like "==" for primitive data types and .equals() for objects. The Value Pattern will have other standard stubs like .hashvalue. It would be nice to fill in the gap between C# programming and learning these higher level design patterns like Abstract Factory. Either that or these concepts are pieces of other bigger patterns like the "Iterator Pattern".

+1  A: 

If you're working in Java, the definitive resource for this knowledge is Joshua Bloch's Effective Java; Josh has said that C# developers will definitely get something out of the book, but qualified his comments (in an interview here):

InfoQ: Do you see the principles in Effective Java as being applicable to other similar languages such as C#?

Joshua Bloch: Absolutely. Many C# programmers have told me that they found the first edition to be a great help. For the most part, Effective Java is a book about good programming practices. Many of these practices transcend the details of the language. Of course there are areas that are very much tied to the language. For example, Java and C# have very different takes on generics.

Another book that fits the bill is Steve McConnell's Code Complete. This is more language agnostic and covers material outside the scope of your question as well.

N.B. - Both of these books are in 2nd edition - make sure you pick up the latest edition!

cwash
+2  A: 

Martin Fowler's Refactoring and Kent Beck's Implementation Patterns should also fit the bill.

Bedwyr Humphreys
+1  A: 

The #1 book you have to read as a .NET programmer is "Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries (2nd Edition)". This is the bible for the .NET programmers inside Microsoft.

http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321545613/ref=sr_1_1?ie=UTF8&s=books&qid=1244834029&sr=1-1

Jonathan Allen