Thursday, December 07, 2006
Mock Objects Rock!
For supporting the refactoring which will occure by the constant change of the code I installed NUnit again. After completing the NUnit Quickstart on Nunit.org I studied the article Test-Driven Development in Dotnet by Peter Provost which gives a little deeper insight in NUnit.
In the second half of the article a method for testing user interfaces in a Model-View/Controller environment is introduced by also introducing Mock Objects. That example really hit me. So I quickly downloaded http://sourceforge.net/projects/dotnetmock/ and tried the example. It's great how the mock-objects simulates the view in that example, and by just passing a View-Interface to the model you can exchange the mock-view with a real winform or webform.
The example is based on an idea of the article The Humble Dialog Box and reading Martin Fowler's Mocks Aren't Stubs article will complete the introduction to mock objects and testing.
A really important topic for software-developing, imho. Also i recognized how my code quality improved by using the TDD approach (keyword "Tell Don't Ask" Principle!).
Thursday, November 30, 2006
Roadmap for learning C#
First Step: Pass through some C# tutorials with ascending degree of difficulty
Beginner
http://www.functionx.com/vcsharp/csharp/Lesson01.htm
http://www.devhood.com/training_modules/
http://www.csharp-station.com/tutorial.aspx
Advanced
http://csharpcomputing.com/Tutorials/TOC.htm
http://samples.gotdotnet.com/quickstart/
Pro
http://www.geocities.com/jeff_louie/OOP/oop.htm
Second Step: Get familiar with the dotnet-framework.
Code simple examples with the most important namespaces of the dotnet-framework.
Overview of the most important .NET Framework namespaces.
Third Step: Continuous reading of .NET coding articles
Here are some good sources:
http://www.codeproject.com/csharp/
http://www.codersource.net/codersource_dot_net.html
http://www.developerfusion.co.uk/csharp
http://www.csharphelp.com/
http://www.example-code.com/csharp/default.asp
http://www.codeguru.com/csharp/
http://www.mastercsharp.com/
Most important: MSDN Patterns & Practices Site!
Fourth Step: Get familiar with the new concepts of .NET Framework 2.0
Windows Presentation Foundation (WPF)
Windows Workflow Foundation (WWF)
Windows Communication Foundation (WCF)
So this is the C#-roadmap for for the next time. Of course this studies will be accompanied by the other knowledge-areas (Architect, Engineer and Project-Management). So I am not afraid not to know what to do in the next time.
Concerning Java - at the moment I am concentrating my efforts on C# and not on refreshing my Java knowledge. This is a personal decision that I set my personal focal point there. In my opinion, a software architect should know both languages. I just decided to start with C#.
Sunday, October 22, 2006
Looking for C# Tutorials
Looking for a more structured approach
Just looking for code snippets and testing them seems not to be the right way for me. I want a more structured approach. The code snippets and all that blogs of C# Developers (e.g. MSDN Blogs) seem to address more experienced developers. So I have to establish a knowledge basis first. My first idea was to study the .NET Framework documentation and to learn about each namespace as if it were chapters of a book. Not very motivating.So I looked for C# Tutorials on the internet. And boy, there are many! I consider the advancement from one lection to the next as very satisfactory and therefore motivating. Very good different .NET Quickstarts can be found on the official Microsoft community site GotDotNet. But in my current situation I am looking for more “guided” tutorials in C#.
C# Tutorials
One tutorial which must not be taken too seriously can be found at csharphelp.com. You don’t need an IDE for that tutorial, just plain notepad and the command line. The four short lessons are partially a bit ironic and the last lesson ends with an interop example with a C Library.The first really good C# tutorial I found was the tutorial Visual C# Fundamentals on the website FunctionX. In 24 very detailed lessons the basics of the C# language and even some basics of information technology like data structures and object oriented programming are explained.So the FunctionX tutorial is the tutorial I will start with. I will publish a complete list of recommendable C# tutorials later.