David Cumps
#region .Net Blog
-
Design Patterns - Decorator Pattern
Following up on the Observer/Event Pattern, it’s time for the third pattern, the Decorator Pattern.
-
Design Patterns - Observer/Event Pattern
Yesterday I described the Observer Pattern and mentioned that the .NET CLR provides this functionality through events and delegates.
-
Design Patterns - Observer Pattern
Yesterday we saw the Strategy Pattern. Today I want to talk about the Observer Pattern.
-
Design Patterns - Strategy Pattern
The first pattern I want to talk about is the Strategy pattern, which always reminds me about the Command & Conquer games so I’ll simply use it as an example :)
-
Obfuscation - Making Reverse Engineering Harder
In a previous article I have demonstrated how easy it is to decompile and reverse engineer .NET assemblies using Reflector and Reflexil. I've also shown that applying a strong name to your assembly does not protect your code from reverse engineering. So, what else is left?
-
Party Game Guitar Hero for PC
Ever heard of the very popular game for the PlayStation 2, called Guitar Hero? Until recently, I only vaguely picked it up here and there, but not being a big PlayStation gamer, I never payed much attention. That is, until today. A friend of mine gave me a link to Frets On Fire, which claims to be the PC variant of Guitar Hero. Seeing it was free, I downloaded it and gave it a try, and I have to admit, it's addictive!
-
Efficient Compound Index Usage
Today I was made aware by Filip, a colleague of mine, about the importance of columns used in a where clause with a compound index. I decided to investigate this a bit more in detail, with proper profiling and comparisons on a large data set.
-
String Concatenation vs Memory Allocation
Over the years, plenty has been written about string performance, lots of comparisons between String.Concat and StringBuilder. Today I decided to do some of my own research into the subject and contribute to the knowledge already out there. More specifically, I'll be taking a look at the memory usage for various concatenation methods and compiler optimizations used to generate the IL.
-
Code Signing as Reverse Engineering Protection
In my last post I spoke about reverse engineering .NET assemblies upon which Gregory asked how to protect his code against it.
-
Reverse Engineering with Reflector and Reflexil
I've always been a big fan of Reflector, allowing me to have a look in assemblies to learn new things, debug in case of problems and provide usefull information when creating bug reports. Combined with the Reflexil Add-in it's now easy to also modify assemblies yourself.