Sat Jun 20 11:12:11 HKT 2009
From
/weblog/design
Simple ways to improve legacy code -
http://www.onjava.com/lpt/a/4805 One approach to work with legacy code, instead of phrase by phrase or part by part, identify and improve the domain part first -
http://gojko.net[..]-efforts-to-replace-legacy-systems-fail/
(google search)
(amazon search)
Wed Jun 10 01:14:06 HKT 2009
From
/weblog/design
A paper show the evolution of a DSL -
http://www.mockobjects.com/files/evolving_an_edsl.ooplsa2006.pdf A stock trading order example of DSL -
http://debasishg.blogspot.com[..]05/designing-internal-dsls-in-scala.html What is the difference between API / DSL if we don't write a parser for our language? From Martin Fowler's blog -
http://martinfowler.com/bliki/DslReadings.html , it is mentioned:
Piers Cawley makes the point that a key characteristic of DSLs is their narrow focus on a domain.
I think this is a very good summary, usually if most of the APIs are getXXX() , setXXX(), loadXXX() , createXXX() ........ Then we mostly design APIs that expose low level detail to the API user to work on, which, is work but user probably work nicer if we can come up with language like API that allow users to do their work in more descriptive level.
I think if API design like that usually it will reduce the code duplication, what ever real duplication or conceptual duplication. It probably already apply "Tell, don't ask" style -
http://c2.com/cgi/wiki?TellDontAsk A discussion about applying "Tell, don't ask" which lead to message passing architecture -
http://beautifulcode.oreillynet.com[..]07/10/do_messages_want_to_be_asynchr.php And other discussion about "Tell, don't ask"
http://sriramnarayan.blogspot.com[..]/2008/11/demeters-law-tell-dont-ask.html http://sriramnarayan.blogspot.com[..]part-two-demeters-law-tell-dont-ask.html http://sriramnarayan.blogspot.com[..]rt-three-demeters-law-tell-dont-ask.html One good sample with explaination -
http://hamletdarcy.blogspot.com[..]-it-really-domain-specific-language.html http://nat.truemesh.com/archives/000727.html Few links -
http://dreamhead.blogbus.com/logs/17667876.html From CRUD to DDD -
http://www.udidahan.com[..]2/15/from-crud-to-domain-driven-fluency/ I like this: "XML abuse reduction (conducting an “XML Intervention”)" -
http://www.lostechies.com[..]ps-internal-dsl-draft-outline-notes.aspx
(google search)
(amazon search)