From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,c52c30d32b866eae X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,2ea02452876a15e1 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,c52c30d32b866eae X-Google-Attributes: gid1108a1,public From: jhd@herold.franken.de (Joachim Durchholz) Subject: Re: Real OO Date: 1996/05/08 Message-ID: <68TAbNGk3RB@herold.franken.de>#1/1 X-Deja-AN: 153966834 references: newsgroups: comp.lang.eiffel,comp.lang.ada,comp.object Date: 1996-05-08T00:00:00+00:00 List-Id: amitp@Xenon.Stanford.EDU wrote 07.05.96 on Re: Real OO: > What the OO books don't tell you is that the same thing is true for > the other `wrong' solution: objects when you want to add new > operations. If operations are methods, and each module contains one > data variant, then to add a new method you must modify *every* module > in your system. OO textbooks usually don't tell you too much about practical problems. (There's even a reason - an introduction on OO techniques that would list all the solutions would easily exceed the Encyclopedia Britannica.) However, I found the book "Design Patterns" by Gamma et al. invaluable. Basically, it is an excellent list of tricks of the trade, viewed from an OO standpoint. With the right Pattern, it is quite easy to extend the system in the Code direction even if you do it all in the OO way. The book explains the pros and cons of each pattern, too, which is more than can be said for most other books. E.g. organizing your OO system to be extensible in the Code direction usually makes it difficult (or much work) to extend it in the Data direction, and vice versa; but there are OO patterns for both types of organization. -Joachim -- Looking for a new job. Resume available on request.