tags:

views:

282

answers:

9

Hi all,

I am tired of tutorials that just enumerate the concepts with examples. How about some tutorials that show the wrong way of doing and then the correct way of doing things? It would be great to learn things like interfaces, delegates, abstract classes, singleton ...etc that way.

It would be great to read some clean code online as well but its hard to find...

any recommendations??

I develop in C# , .net , MS technologies...

+6  A: 

I think the Head First books provide a really easy to read and learn from approach to learning the basics of software engineering. You can do Head First C#, then Head First Design Patterns and Head First Object Oriented Analysis and Design.

Then again, these books aren't free....

tster
But well worth the $$. They do a great job of covering the basics.
Chuck Conway
Very good recommendations, great starting point on how to properly design object oriented systems.
Ty
+1  A: 

http://www.dofactory.com/Patterns/Patterns.aspx covers all of the GOF patterns, with examples in C#.

http://www.oodesign.com/ is another great reference site. Also covers all of the GOF patterns, with code samples, and a more in-depth explanation of each. Also lists pros and cons of each pattern, and appropriate situations to use them.

Colin Cochrane
A: 

You might be able to find some good advice on programming techniques, but there's no wax-on-wax-off for coding skills. You learn by doing it. Mostly by doing it wrong a lot at first. I know it sucks, but it's the way it is.

David Rutten
+1  A: 

You might want to look for AppDev and/or Total Training e-learnings.

Meanwhile, there are some webcasts on Microsoft website that are very interesting. I learned MVC architecture that way.

Microsoft Events and Webcasts

Will Marcouiller
+1  A: 

Have you read Design Patterns: Elements of Reusable Object-Oriented Software by the "Gang of Four"?

That was the book which made me glad that I'd learned a programming language that supported object-oriented programming.

It doesn't show the wrong way to do things, but part of the "pattern description" are the "forces" or circumstances for which each pattern is a useful solution.

The code examples are small (but clean).

ChrisW
+1  A: 

For me with C#, I'm always going back to Juval Lowey's Programming .NET Components.

kenny
A: 

Unfortunately I don't know if there's any such resource out there, but this sounds like a great idea for a website. Something like fmylife.com, but specifically for OOP where users post their real-life problematic object-oriented solutions that can be discussed and fixed very much like in SO. All questions and answers tagged with a specific design pattern would represent real examples for that pattern.

Anurag
+1  A: 

Object-Oriented-Design-Heuristics is great and appropriate for your needs IMHO. Head First Design Patterns is wonderful also, with interesting examples of incorrect and correct practices for certain cases.

okm