Archive for the ‘Domändriven design’ Category

Språk och programmering

maj 2, 2010

I ett avsnitt av Filosofiska rummet i SR P1 handlade det om ”… hur språkbruket påverkar vårt sätt att tänka”. En hel del i sig tankeväckande aspekter diskuterades, men särskilt intressant tycker jag det är att man lätt kan se att mycket av dessa diskussioner om vårt vardagliga tal- och skriftspråk också är direkt överförbart på  hur vi använder ord för att namnge saker när vi modellerar och programmerar.
Två exempel från programmet:

På en fråga om tvåspråkighet och hur man använder olika språk i olika sammanhang kom man in på ordet ”ångest”. Den danska sångerskan i studion hade förstått att man i Sverige kan använda det ordet på ett ganska avslappnat sätt, till skillnad från i Danmark där ”angst” endast har den tunga medicinska innebörden. Lingvisten Sven Strömqvist kunde då berätta att man gjort försök som visat att att det var mätbara skillnader i hur mycket hjärnan var tvungen att arbeta när man man utsatte försökspersoner för entydiga respektive mångtydiga ord. Inte särskilt konstigt kanske eftersom hjärnan måste se till att undertrycka alternativa betydelser och associationer. Men anpassat till vår modellerings- och programmeringsvärld innebär det att det faktiskt är mätbart viktigt att man använder så exakta och lättolkade benämningar som möjligt för att underlätta både för sig själv och andra. Det gällar att inte bara hitta beteckningar som kan tolkas rätt, utan beteckningar som bara kan tolkas rätt!

Sven Strömqvist berättade också att det finns forskning som visar att försökspersoner som får ta del av en berättelse med mer precisa ordval kommer ihåg mer av berättelsen än försökspersoner som fått ta del av berättelsen med mer allmänna ordval. Exemplet i programmet var att en uggla beskrevs som att den antingen flaxade ut ur sitt bo eller bara lämnade det. Bättre, mer precisa ordval i vår programmeringsvärd borde därmed också göra det enklare för oss själva och andra att komma ihåg modeller och programkonstuktioner!

Annonser

DDD i uppdragsbeskrivningar

september 6, 2009

Hmmm… Som konsult har jag hitintills aldrig sett en uppdragsbeskrivning som nämner något om domändriven design och inte heller tror jag att jag någonsin sett en jobbannons där ddd efterfrågas… Som Niclas Nilsson helt riktigt kommenterade när jag tog upp frågan på den svenska ddd-listan så brukar det ju i och för sig aldrig nämnas något om designkunskaper i annonser. Så är det förstås, men ddd är en begreppsvärld och att försöka genomföra ett projekt utan ddd-kunniga projektmedlemmar känns väldigt svårt. om jag satt som ddd-intresserad arkitekt/modellerare/programmerare/whatever och ville ta in extern hjälp så skulle jag nog lägga större vikt vid de sökandes ddd-intresse än om de var gurus på ramverket si-och-så i version så-och-si.
Men det kommer väl. Kanske.

Events och domändriven design

juli 1, 2009

Flera av sista tidens diskussioner om ddd har det gemensamt att Events-hantering är en central del. Kanske är det bara en slump, men det verkar som om events är på väg att bli en viktig de facto-byggsten inom ddd.

Greg Young har visat hur han byggt ett börshandelssystem med en kombination av Event Sourcing och det som kommit att kallas ”Command Query Separation (CQS) at the architectural level” (till skillnad från ”vanlig” CQS). Genom detta har han skapat ett mycket skalbart och dynamiskt system med tillförlitlig audit.

Udi Dahan skriver om ”Domain Events” som ett sätt att lösa det ofta diskuterade problemet med hur domänobjekt ska få tillgång till service-klasser.

Eric Evans har själv uttalat sig om Events som en av de saker han nu lägger mer vikt vid än när han skrev Boken.