Some links on design patterns and their relevance to F#


Lately, I’ve noticed quite a few people engaging with questions concerning design patterns and F# programming. I think this is a great endeavour. This question can be approached in a number of ways.:

  • How do object-oriented design patterns look when coded in F#?   
  • How do the principles of design patterns apply to F# design?

 

In the first category, just in the last few days we’ve had F# examples of the Chain of responsiblity pattern, the Decorate pattern, the Observer pattern, the Strategy pattern, the State pattern, and a bunch of other examples posted under the Design Patterns tag over on F# Snippets. 

In the second category, today there’s an article today over on the Moirae Software blog on SOLID and its relevance to F#.

If you have more links to articles or code samples discussing these topics, please feel free to post them in the comments seciton.

 Don

 

Comments (3)

  1. anonymous says:

    Actually, it is a part of a more general and complex question about an analysis, architecture and design of software written in functional style. While it is obvious that OOAD is not native to F# and other functional languages, almost any attempt to outline FP design priciples that was taken over the Internet ended up in a very abstract ways of saying "not as in OOAD". Someone once mentioned a monadic layered architecture, but there are no detailed description of that technique. So, FP community in general and F# community as its part would highly appreciate an effort to develop and improve native FP analysis and design metodologies.

  2. Stefan Petrov says:

    Maybe mention http://www.cs.ox.ac.uk/…/hodgp.pdf – the OOP design patterns are formalized from functional (categorical) point of view, and implementation examples (actually, and I think really good for the OOP programmer to learn the patterns).

  3. Stefan Petrov says:

    http://www.cs.ox.ac.uk/…/hodgp.pdf the code snippets are in haskell, though