fuzzelogic Solutions

November 11, 2009

Dependency Inversion Principle - DIP = POSTPONED

Filed under: BDD, OO, Programming, c#, design — Tags: — admin @ 2:57 pm

Hey !!

The last in the soliD series. Dependency Inversion Principle - DIP, will be held on the 18th November 2009 -  25th November 2009 . Due to popular demand it was decided to postpone this as many could not make it. It should be at the same place (Dimension data-Isle of man) and for around the same time - start at 6:30pm. This will also be a good time to discuss the plans for the new year and finalize the curry night, so if you can make - great!!

So, back to DIP.

 

 High-level modules should not depend on low-level modules. Both should depend on abstractions.
Abstractions should not depend upon details. Details should depend upon abstractions.

 Zak

 

 

 

 

October 27, 2009

ISP: Done

Hi all!

Ok, another of the principles done. Just one more D = Dependency Inversion Principal. Again, everyone was happy for me to do the next one. The proposed dates are … November 18th 2009 or November 25th 2009. Please let me know your which is prefered.

We covered the theory behind the principle, then looked at and discussed some examples. We discovered how follow the SRP makes this one much easier to adhere to.  Another “principle” YAGNI (you aint gonna need it yet) also plays a part in adhering to the ISP.

Put this principle into high gear when designing frameworks, avoid fat interfaces and apply SRP.

We also decided that in december, we’d still meet, but it would be for a supper, so your suggestions are welcome. We can also use it as a time to plan stuff for the new year, so bring along some ideas on what you’d like to see.

Oh! If anyone wants the slides, code etc - let me know

Thanks!

Zak

October 8, 2009

SOLID : Interface Segregation Principle

Filed under: OO, Programming, c#, design, projects — Tags: , , — admin @ 3:51 pm

“Clients should not be forced to depend upon interfaces that they do not use.” — Robert Martin

DevG / Isle of Man software developers group monthly meetings

I’m trying to schedule the next one of the S.O.L.I.D principles - the Interface segregation principle - for the 21st October 2009. It should be at the same place (Dimension data-Isle of man) and for around the same time - start at 6:30pm

The actual presentation shouldn’t be too long, although based on the previous ones, the actual discussions could go on.

Hope that’s ok..

Thanks

Zak

September 13, 2009

soLid: The LSP

DevG / Isle of Man software developers group monthly meetings

I’m trying to schedule the next one of the S.O.L.I.D principles - the Liskov substitution principle (LSP) - for the 23rd September 2009. It should be at the same place (Dimension data-Isle of man) and for around the same time - start at 6:30pm

The actual presentation shouldn’t be too long, although based on the previous ones, the actual discussions could go on.

If there’s anything from previous presentations, my BDD testing style (or anything else) that you’d like to discuss, please let me know.

Hope that’s ok..

Thanks

Zak

August 22, 2009

Open closed - Code update

Filed under: BDD, OO, Programming, c#, design, projects — Tags: , , , , , , — admin @ 4:16 pm

Hi All!

I’ve uploaded the code used in the demo on the open closed priciple (part of the SOLID presentations) presented to the Isle of Man software developers group on the 19th of August 2009.

As a reminder….

  1. All objects with names ending in Specs.cs are the “test” cases
  2. The folder named “Attempt” is the first try at how we would have looked at solving this problem.(Breaks the OCP)
  3. The folder “LosTechies” is the solution presented by LosTechies ( a possible solution -that I felt, although addresses the OCP, broke the SRP)
  4. The folder “Fuzzelogic.Refactored” together with the folder “Infrastructure” contains the solution I presented making use of the specification pattern. It was easier to extend the appliaction when new requirements came about, and it provided us with a reusable “pattern” in extending the matching/filtering solution to other parts of  the application
  5. The Bdd project is used to simplify the “test”ing of and makes for a more readable approach.

The code is available from here

All comments / questions are welcome.

Hope this helps

Zak

Older Posts »

Powered by WordPress