On Tue, 26 Mar 2019 at 10:17, Tim Mackinnon <[email protected]> wrote:

> Wasn’t there something that encouraged you to underline the nouns and
> circle the verbs and then start to identify objects and responsibilities?
> Its that kind of thing I am starting to see as the weak point in people
> approaching problems.
>

That's the Booch method which Larman mentions as the noun-phrase
identification (I actually learned that in 1986 in my first Ada course).
See slide 22 or so at
http://stg-tud.github.io/eise/WS11-EiSE-07-Domain_Modeling.pdf

You could/should cherry-pick Larman's book (there's way too much there even
for one course). There are all the references to Resp-Driven Design and
even a lightweight "domain model" pattern (which doesn't have separate
conceptual classes) from Fowler.
https://martinfowler.com/eaaCatalog/domainModel.html

In my courses I get a lot of mileage from just the two GRASP patterns (that
come from Wirfs-Brock et al if I'm not mistaken): Information Expert
<https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)#Information_expert>
and Creator, but the latter is easier to apply if you have a domain model
as a separate artifact.

IMO the older approaches to OO design get in to trouble today especially
when 1) most objects use composition (an not inheritance with polymorphism,
although it's very powerful for extending programs) and 2) inheritance is
hard to get right the first time (and is difficult to change). There's real
power in refactoring to patterns (e.g., )

There's the CRC method that Horstmann presents, too (I think that's what
Pharo even recommends in the Class Comment template). Booch and CRC are
mentioned on this page:
http://www.cs.fsu.edu/~myers/cop3331/notes/analysis1.html

Finally - I'm not familiar with exercism exercises (I signed up but saw
that smalltalk is still in alpha). Is there a sneak peak of an example
exercise?

Cris


>
> Tim
>
> On 24 Mar 2019, at 22:47, Christopher Fuhrman <
> [email protected]> wrote:
>
> On Sun, 24 Mar 2019 at 21:26, Tim Mackinnon <[email protected]> wrote:
>
>> Any good references come to mind? As I’ll build up a list that I can
>> point people to, that hopefully puts them in a better place to solve these
>> more interesting and hopefully rewarding problems.
>>
>
> Since 2003 in one of my courses I've used Craig Larman's Applying UML and
> Patterns because it has an analysis approach (getting from a semi-complex
> problem to a working OO solution in iterations, with UML if you want). It's
> using the Point Of Sale (cash register) problem which is complex yet
> familiar enough for most people to grasp (no pun intended, GRASP are the
> patterns he pushes as underlying responsibility-driven principles).
>
> Otherwise, Cay Horstmann's 3rd edition of OO Design and Patterns (Java,
> but applies to any OO language) should be out soon (I provided feedback on
> a draft copy last year). It has some good coverage of OO qualities and also
> uses a realistic problem (Graphics Editing framework, Violet) as the basis
> of lots of examples.
>
>
>

Reply via email to