I  am half way through the Scott Wlaschin Video which makes a great case
for F# as a DDD tool.
I love the Card Game example.

module CardGame =
 type Suit = Club | Diamond |Spade : Heart
 type Rank = Two  | Three  | Four  | Five  | Six   |  Seven   |  Eight   |
Nine   |  Ten   |  Jack   |  Queen   |  King   |  Ace

type Card = Suit * Rank
type Hand = Card list
type Dec = Card list
type Player = {Name:string; Hand:Hand}
type Game = {Deck:Deck; Players : Player list }
type Deal = Deck -> (Deck *Card)
type PickupCard = (Hand * Card ) -> Hand


As Scott points out the customer can easily see if I missed a Suit or a
Rank. The code and the design are one and the same, and persistence is not
mentioned.

Regarding UML, I never really came to grips with it in the past.
I just watched parts of the Pluralsight course : Picturing Architecture:
UML (The Good Bits) and More by Allen Holub which helps a bit  However if I
find UML a learning overhead, how can I expect the customer to be able to
speak it with me?

I will check out the Simon Brown link too. Thank you.

On Tue, Feb 6, 2018 at 9:11 AM, Ian Thomas <[email protected]> wrote:

> Perhaps consider Ink to Code ? It’s the converse of your approach, but may
> help with client understanding.
>
>
>
> https://arstechnica.com/gadgets/2018/01/with-ink-to-
> code-microsoft-is-turning-back-of-napkin-sketches-into-software/
>
>
>
> It’s a Microsoft Garage project, from Microsoft Store, not available here
> yet? (I haven’t checked)
>
>
>
> ILT
>
> Albert Park, Victoria 3206 Australia
>
>
>
> *From:* [email protected] [mailto:ozdotnet-bounces@
> ozdotnet.com] *On Behalf Of *kirsten greed
> *Sent:* Tuesday, 6 February 2018 8:22 AM
> *To:* ozDotNet <[email protected]>
> *Subject:* Class diagrams and tools for communicating with clients
>
>
>
> Hello all.
>
> After revisiting "Domain Driven Design"
>
> I want to try using class diagrams to communicate with my client.
>
> However my classes are cluttered with internal properties that are not
> relevant to our conversations
>
>
>
> I thought of trying interfaces for example
>
>
>
>
>
> public interface ISnapInModel
>
>             {
>
>
>
>                         IBlank Blank { get;  set;  }
>
>         }
>
>
>
> public interface IBlank
>
>       {
>
>             public int Height {get;set;}
>
>             public int Width {get;set;}
>
>       }
>
>
>
>
>
> However when I try to create a class diagram in VS2017 no association
> draws between the two interfaces.
>
>
>
> Is there a better way?
>
> Thank you
>
>
>

Reply via email to