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. > > >
