Saturday, March 14, 2009

Weekend Reading

Steve McConnel: Classic mistakes:

Few Short Methods Per Class:

The Big Ball of Mud and Other Architectural Disasters:

How to Design Exception Hierarchies:

Design Principles and Design Patterns:

What Makes a System Hard to Work With?

Big Ball of Mud (classic)

Thursday, March 5, 2009

How to create a custom url protocol

 HKEY_CLASSES_ROOT/
  your
-protocol-name/
   
(Default)    "URL:your-protocol-name Protocol"
    URL
Protocol ""
    shell
/
      open
/
        command
/
         
(Default) PathToExecutable
Useful links:




Wednesday, March 4, 2009

Custom file types: How to assiciate files with apps in Windows

Wouldn't it be nice to have your own file type for your enterprise application? E.g a custom xml file with metadata for your documents. This CodeProject article shows how it works:

http://www.codeproject.com/KB/dotnet/System_File_Association.aspx

InfoQ: AOP - Myths and truths

Video showing pragmatic usage of Aspect Oriented Programming in real-life projects.

http://www.infoq.com/presentations/AOP-Myths-and-Realities

Presentation by Ramnivas Laddad

AOP: INotifyPropertyChanged

Better binding with PostSharp and INotifyPropertyChanged
http://richardsbraindump.blogspot.com/2009/02/aspect-oriented-programming.html

SyntaxHighligter: Nice code formatting on your blog/site

http://alexgorbatchev.com/wiki/SyntaxHighlighter

Tuesday, March 3, 2009

How to check if the current user is administrator

bool isAdmin = new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);

Frameworks and DDD: Keeping the Model Clean

How to avoid pitfalls and preserve a clean domain model while using frameworks. 

Tim McCarthy is is the author of .NET Domain-Driven Design with C#: Problem-Design-Solution



REGSVR32 VS REGASM

REGSVR32 : This is used for registering a COM based DLL:

REGASM: This is used to register a .NET Assembly for COM Interop: