BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News SOLID Design Principles and Other Patterns Revisited For .NET

SOLID Design Principles and Other Patterns Revisited For .NET

This item in japanese

Bookmarks

“I want to document stuff I learn or problems that I come across in my job, for myself and others”, Andras Nemes, a Swedish web developer on the .NET platform, writes when explaining why he is doing a series of blog posts on the SOLID design principles and other design patterns he has found interesting in object-oriented programming and design.

Andras describes the SOLID design principles as a collection of guidelines for object oriented software design where each of them are meant to make a code base easier to understand and maintain. They also encourage a more object oriented style, thus preventing the code base from becoming a mess with a large degree of interdependency that is hard to debug and extend.
But he also states that even though the principles are a good set of tools they do not replace the need for maintaining and refactoring your code to keep it from getting stale.

The five design principles the SOLID acronym stands for are, using Andras' brief description:

For each of the principles Andras describes the pattern together with when and where you should use it. He then uses the pattern in a demo where he first implements an example not using the pattern, followed by a refactoring to improve the code by adapting to the pattern. He also argues about what is the problem with the first design and in what way the design improves with the refactoring.

Besides the SOLID principles Andras has in the same style described several other patterns including: Command, Builder, Visitor, Bridge and Observer.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Thanks Infoq

    by ALI ALIKHANI,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Now I know Solid :}

  • About SOLID pronciples

    by Daria Douson,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Simply checking off boxes and saying “Now my code conforms to SOLID design principles” is the wrong approach. We don't need to follow just set of rules. The code must be clean from the beginning.
    rubygarage.org/blog/solid-principles-of-ood

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT