Sadek Drobi’s Blog

February 25, 2007

Obsev :: Implementing Domain Friendly, Predicates-like Specifications with C# 3.0 Expression trees

According to Fowler and Evans, Specification ” is to separate the statement of how to match a candidate, from the candidate object that it is matched against. As well as its usefulness in selection, it is also valuable for validation and for building to order “  .

We might need to secify the state of an object for one of these three purposes.

  • To validate an object to see if it fullfills some need or ready for some purpose (Validation)
  • To select an object from a collection (Selection)
  • To specify the creation of a new object to fit some need (Building to order)  *Quote from DDD / Eric Evans*

(more…)

February 18, 2007

Obsev :: Free Your Mind (Satisfaction Confusion part2)

Filed under: C#, Agile Programming, Domain Driven Design, Functional Programming — Sadache @ 12:49 am

in my previous post http://sadekdrobi.com/?p=25 i listed some  Satisfaction Confusions that we are having in

popular imperative procedural object oriented statically typed C-like syntax programming languages, the question was where the goodness really comes from, and what are the drawbacks to such confusions.

One epression that is lately often used to stegmatise a piece of code is to tell “not object oriented”.  This expression is a good sign of something we always waited, which is the awareness of the majority of today’s developers of  the importance of the Object Oriented programming principiles. But on the other hand, the expression itself highlights another satisfaction confusion. Even myself, i sometimes feel it an insult to be told that my code is not object oriented, so what?!! should it be? or… it is not meant to be !!!

(more…)

February 17, 2007

Obsev:: Satisfaction Confusion

Filed under: C#, Agile Programming, Domain Driven Design, Functional Programming — Sadache @ 2:01 pm

Going back into my memories, it happens to me quite often that i have good memories for a place because something good happened once for me there, or good memories for someone because he delivered me a good news … i guess feelings can be quite distracting sometimes. when i used to be a child, i used to hate fish, i didnt like fish, anykind! i used to quit the table when fish is present.

Lately i relized that what i had problem with is fish’s smell, and specifically well cooked fish meet’s smell. Now i eat fish, one of my favourite plates is Sushi and Sashimi :p

I guess it is quite human thing to hate things as a whole, tagging as bad any set of objects that have one bad property, forgetting about all the universe arround, that might have contributed to that bad, and that can change with time.

In the programming languages paradigm we had - and we are still having - a lot of such a satisfaction confusion. Imperative (procedural) programming had gained a lot of market and as it often happens this was due to a massive marketing of a good property of the product. Imperative programming consists of sets of machine instruction (more…)

Powered by WordPress