.NET CLR optimization good practices

February 3, 2007

GC

  • free your object as soon as possible (this will help to prevent the object promotion to into higher GC generation)
  • long lived object create early (this will help to avoid memory defragmentation by setting long lived (promoted to 1 and 2) object at bottom of CLR memory block) Read the rest of this entry »

Threads…and multitasking illusion

February 3, 2007

Today software development platforms have so many layers of abstractions around CPU machine code in order to help software developers to focus more on domain implementation problems (business, scientific …) and solutions.
The fact is that a software designer and developer depends on so many lines of code that somebody else has designed. We utilize in our applications the hundreds of code libraries and most times we only know about (API or object based) their interfaces and the rest is just a black box. Read the rest of this entry »


.NET Generics for generic solutions

February 3, 2007

What are the generics in .NET 2.0 ?

There are many ways to define it, like:
Generic types and methods <=> parametric polymorphism,
Generic types and methods <=> parametrized types

Anyway generics with interfaces are the all you need for a generic solution for your subsytem…and some VB, C# and pattern knowledge. Read the rest of this entry »


LINQ – new C#3.0 feature

February 3, 2007

LINQ stands for Language INtegrated Query, a new great feature in C# 3.0 langage specification. That is a feature of VB.NET as well.
Using LINQ it would be possible to write queries against an object’s arrays , xml documents and database’s tables. Anything that you can transform as an array/collection (IEnumerable) you can query using standard SQL query sintax as part of  C# sintax. Read the rest of this entry »


About software creation patterns

February 3, 2007

How many times has an experienced programmer , system analyst or any problem solver realized that the same problem has occured in a previous project and that the same solution could apply? How many times has the wheel been reinvented?

This is the definition of software patterns in Wikipedia: Read the rest of this entry »


One solution for Domain Objects Persistence Pattern

February 3, 2007

This is just another solution on how to decouple a database relational world from an object oriented domain world.
Using the Domain Objects Persistence pattern, we can accomplish extracting a persistence code out of a domain object. As the result of the concerns decoupling the domain object is lighter and more domain-business oriented.

Read the rest of this entry »