You are here: Blog
August, 2014 (1)
September, 2013 (1)
February, 2010 (2)
October, 2008 (2)
September, 2008 (1)
July, 2008 (2)
June, 2008 (1)
April, 2008 (3)
February, 2008 (1)
December, 2007 (1)
October, 2007 (2)
June, 2007 (2)
March, 2007 (1)
January, 2007 (1)
December, 2006 (3)
Software development matters
Author: Oleg Zhukov Created: 12/3/2006 11:31 AM
This blog contains author's little notes as well as comprehensive articles on software development topics.

By Oleg Zhukov on 6/20/2008 5:31 AM

API documentation may be of great importance to a project. Especially when the project is a library intended for use by other developers. As a rule such documentation is represented in a form of help files (*.hxk for instance) or in a form of HTML pages contating reference for all project's namespaces, classes and etc.

However neither .NET framework nor Visual Studio contain tools for creating API documentation. Instead, developers need to address some separate tools for this aim.

For a long time NDoc tool has been the best choice to generate API docs from source code comments. It is fast, reliable, easy-to-use and free. But unfortunalely NDoc project was freezed and is not supported anymore. It works only with .NET 1.1 projects.

Read More »

By Oleg Zhukov on 4/24/2008 1:58 AM

Some time ago Alan Sheats during our e-mail conversation about software architectures recommended me three wonderful books. Here they are:

  1. "Domain-Driven Design: Tackling Complexity in the Heart of Software" by Eric Evans
  2. "Applying Domain-Driven Design and Patterns: With Examples in C# and .NET" by Jimmy Nilsson
  3. "Agile Principles, Patterns, and Practices in C#" by Robert C. Martin

First two of them concern the Domai ... Read More »

By Oleg Zhukov on 4/23/2008 5:17 AM

New version comes with some nice features including the .NET Generics support. For details see the project web site:

By Oleg Zhukov on 4/16/2008 10:32 AM

Probably the main weakness of most Web applications is their uni-directional nature: a server can send data to the client only as a reply to his request. A server cannot initiate data sending to the client. And if something happens on a server, it has to wait for the client request, instead of notifying the client immediately.

Comet is a Web application architecture with bi-directional communication, when Client and Server are on equal rights, both being able to initiate data sending. Thus, if a Web application supports Comet architecture it becomes very close to conventional desktop (e.g. Windows) applications.

There are several approaches to implementing Comet, including Java applets and Flash applications running inside a client browser. Microsoft Silverlight-based Comet solutions are surely to appear soon and will be of great interest!

For more info see Read More »

By Oleg Zhukov on 2/9/2008 8:47 PM

I'm proud to announce the first beta release of a new Model-View-Presenter framework. It is named MVC# and is very simple, flexible and has extremely nice features. For more information visit its web site:

By Oleg Zhukov on 12/22/2007 12:39 PM

Whereas the Windows Presentation Foundation (a part of .NET 3.0) introduces pure .NET classes for drawing simple 3D graphics, its functionality may be not enough for feature-rich 3D applications. If this is the case, some more powerful graphics library may be required, such as OpenGL. Fortunately a managed .NET facade to unmanaged OpenGL dll's exists. This facade is a part of the Tao framework and allows accessing OpenGL functions from .NET applications as easily as it is done from managed C/C++ code.

Last few days I have been experimenting with OpenGL in .NET and have written a small application which visualizes 3D objects specified in a binary STL file format. The application allows moving and rotating the camera (eye point) and switching between different rendering options (sm ... Read More »

By Oleg Zhukov on 10/21/2007 2:14 PM

Sometimes building a software product from the source code requires more than just compiling. That is the case especially for big software systems where the build process consists of numerous steps.

A long long time ago (don't ask when :) the MAKE utility appeared to solve this problem. It offered a rather powerful scripting language for describing the build process. But time went by and new utilities came to substitute MAKE. They didn't have the drawbacks peculiar to MAKE and used XML as a script format. One of such tools was Ant and its .NET clone named NAnt. Microsoft suggested their own build tool too (well, that was expected :) under MSBuild name. Here I would not devle into MSBuild and Ant comparison, but I am going to list the things that really make MSBuild attractive compared to NAnt:

  • Tight integartion with Visual Studio IDE. Actually VS projects are MSBuild scripts. And modifying the project means just modifying the MSBuild script. An ... Read More »

By Oleg Zhukov on 10/8/2007 11:36 AM

Today I visited a seminar where different testing methods were classified. The speaker introduced several ways of classifying software testing approaches... Read More »

By Oleg Zhukov on 6/14/2007 8:05 AM

Well, everybody must have heard of, and, more likely, have used the
Command design pattern.

My new article at CDN ( gives
an example of the Command pattern usage in ECO applications. It also
describes how to add Undo/Redo support to the commands with the
use of the ECO Undo service.

By Oleg Zhukov on 6/10/2007 4:32 AM

The majority of .NET developers are still sitting on 1.1 and 2.0 versions and are thinking of all those troubles they will meet moving to 3.0 and 3.5. However there are no reasons for pessimism since 3.0 and 3.5 are based on 2.0 and utilize the same CLR 2.0 version. This is the case when 3.5 - 2.0 < 1.5. In his recent post Daniel Moth explains this in detail. The difference between VS2005 and upcoming VS2008 is not as much either. See another Moth's post about VS2008 stack.

Copyright 2007-2016 by Oleg Zhukov Terms Of UsePrivacy Statement