design

Why use EventArgs.Empty instead of null?

I recall reading, on multiple occasions and in multiple locations, that when firing the typical event: protected virtual OnSomethingHappened() { this.SomethingHappened(this, EventArgs.Empty); } e should be EventArgs.Empty if there are no interesting event args, not null. I've followed the guidance in my code, but I realized that ...

Coupling is too high - how to design this class better?

Running FxCop on my code, I get this warning: Microsoft.Maintainability : 'FooBar.ctor is coupled with 99 different types from 9 different namespaces. Rewrite or refactor the method to decrease its class coupling, or consider moving the method to one of the other types it is tightly coupled with. A class coupling above ...

Resources for windows form design and increased usability

The majority of resources that I have for UI design all deal with the web world. There are a number of advantages there because of the dynamic nature of the presentation layer. However, I would like to design better windows form programs. I want a professional flow to my applications. Right now they look pretty by using WPF, but events...

What's the purpose of the Help->About dialog in a program?

The Help->About dialog in GUI applications has historically been the place for some very "interesting" (and often funny) functionality and easter eggs. How would you define the purpose of the About dialog? What function does it serve in an application, and who is the target audience? What's the best use (or abuse) of an About dialog ...

Has anyone used (or considered using) Sql Server Compact Edition?

Hi, I've been preparing to deliver a presentation on SQL Server Compact Edition 3.5 (SP1 - recently released) and I was wondering if anyone had designed (or contemplated designing) a system with SQL Server CE 3.5 (or earlier versions)? In particular, has anyone thought of (or experienced) using SQLCE as a solution for offline data stora...

When is loop unwinding effective?

Hi all, Loop unwinding is a common way to help the compiler to optimize performance. I was wondering if and to what extent the performance gain is affected by what is in the body of the loop: number of statements number of function calls use of complex data types, virtual methods, etc. dynamic (de)allocation of memory What rules (of...

Biggest over design mistake you've made.

I've spent the past day or so designing a set of classes to parse in some events from a telephony system and then log them to a database. Having created 5 of the dozen classes I figured I'd need to parse the event parameters into a hashtable figure out what the event was and create an insert statement. (A base class and interface for the...

OpenSource: Collaborative Design

After delving into the world of opensource I have found implementation is emphasised over design. Version control allows for a project to branch off in many directions, which projects may do; this suggests lack of consensus or direction amongst the participants. What software or websites are useful for collaborative design? ...

Designing for extranet from the beginning?

I've been tasked to develop a web application to cover one of our business functions. It needs to have external access from outside our network. At the same time, it needs to be done fairly quickly. I don't have any experience in extranet applications so I'm not exactly sure what all is involved. Learning about it is taking time. I'...

Interface Design Question

I asked this question a while back and basically the project almost consists of reproducing excel in the browser. We want people to input data in an excel-like way. The question i have is, what is the best control to use? Should i use a regular table, and then append columns to it, or should i use a datagrid and flip it XtoY? What ap...

How do you design a functional program?

From day 1 of my programming career, I started with object-oriented programming. However, I'm interested in learning other paradigms (something which I've said here on SO a number of times is a good thing, but I haven't had the time to do). I think I'm not only ready, but have the time, so I'll be starting functional programming with F#....

Rube Goldberg software design

Anybody seen a Rube Goldberg software design? Basically, complicated design for simple stuffs. Please share your stories. ...

HCI: UI beyond the WIMP Paradigm

With the popularity of the Apple iPhone, the potential of the Microsoft Surface, and the sheer fluidity and innovation of the interfaces pioneered by Jeff Han of Perceptive Pixel ... What are good examples of Graphical User Interfaces which have evolved beyond the Windows, Icons, ( Mouse / Menu ), and Pointer paradigm ? ...

What is a component

I listen to the podcast java posse, on this there is often discussion about components (note components are not (clearly) objects). They lament the fact that Java does not have components, and contrast with .NET that does. Components apparently makes developing applications (not just GUI apps) easier. I can figure from the discussion...

Can someone recomend example of Lazy Grid implementation in .NET 2.0+?

To improve performance/scalability of a WinForms app, I would like to defer calculation of fields that are not visible in the grid until they are needed. Looking for ideas on how this can be done in .NET 2.0. One idea inspired by this post is to attach a DataSource object that supports ITypedList. However ITypedList interface seems...

What are best fit patterns to use when developing VSX Package or Isolated Shell Package?

When I am developing a bunch of designers/tools, what are some of the best fit patterns that go with a VSX Package and/or VSX Isolated Shell Package? Any samples, links would be great. ...

How to choose colors in web development

When I build a site I tend to do a bit of graphic design (developer style) in Paint.NET, but how do I know the colors will all display properly on all browsers on different machines? What color depth to you generally code for? 16bit 256 colors etc. ...

Becoming a ninja developer

My approach with designing a solution is to find the simplest way to achieve the result required. This usually means that I provide what is required and within the time frames requested. And fairly bug free. This is all good, and I have built a good reputation as a result. The downside is this. I think I have limited my ability to tackl...

One table or many?

I'm trying to design an application to hold academic reference information. The problem is that each different type of reference (eg. journal articles, books, newspaper articles etc) requires different information. For example a journal reference requires both a journal title and an article title, and also a page number, whereas a book ...

Single Table Inheritance

An answer to a question of mine on DB design suggested something called single table inheritance. I've done a bit of searching on that, but I can't seem to find that much clear information on it. Basically what I seem to understand from it is that you have a big table with all the fields in it and also a type field - and then your ORM l...