This is a pretty huge topic... luckily, there is a fairly extensive body of literature on it, that is, literature that actually knows what it's talking about. There is also a fairly extensive body of literature that parrots some sort of shadow of knowledge about the topic. Which is not to say that the statements you see are untrue, it's just that you don't come away from them understanding what the problem was.
If you'd like a really good introduction to this topic, then I'd strongly reccomend Edward Berard's book, which I believe is titled "Design of Object-Oriented Software". It is one of the extremely few software books with EXTENSIVE references, usually three or more for each item of discussion. This makes a great starting point for your own understanding of the subject. Not for the faint-hearted, but if you really want to dig in on the subject I think this is one of the best places to start. Beware authors who state but do not support their own claims with extensive references- when I see those, I think they're just making it all up. For example, there is this "7 +/- 2" rule about complexity that you often see in various contexts. But noone ever mentions what basis exists for it, so it's considered to be a rule of thumb. But there really was research done on this, and there really is an original source in the scientific literature for this "rule of thumb".
To me, the astonishing thing has been how old much of this literature is- you would assume that it is some sort of brand new topic, but you find the basis for this stuff originating not in the 80's, or the 70's, or even the 60's, but back in the 50's and even back in the 30's. By the mid-80's, it appears that reuse had become a fairly mature subject, and sufficiently well understood to be effectively carried out in environments using procedural languages. From what I've seen, I'd have to say that reuse ceased to be a topic of research by that time- from then on, it's been an issue of successfully applying that knowledge. Unfortunately, this is still a big issue as the problems in applying reuse are primarily cultural rather than technical in nature.
les
Unfortunately, Amazon lists this book as out of print.
jlo
-----Original Message----- From: Les Tyrrell [mailto:tyrrell@canis.uiuc.edu] Sent: Thursday, July 01, 1999 2:20 PM To: squeak@cs.uiuc.edu Subject: Re: On Reuse
This is a pretty huge topic... luckily, there is a fairly extensive body of literature on it, that is, literature that actually knows what it's talking about. There is also a fairly extensive body of literature that parrots some sort of shadow of knowledge about the topic. Which is not to say that the statements you see are untrue, it's just that you don't come away from them understanding what the problem was.
If you'd like a really good introduction to this topic, then I'd strongly reccomend Edward Berard's book, which I believe is titled "Design of Object-Oriented Software". It is one of the extremely few software books with EXTENSIVE references, usually three or more for each item of discussion. This makes a great starting point for your own understanding of the subject. Not for the faint-hearted, but if you really want to dig in on the subject I think this is one of the best places to start. Beware authors who state but do not support their own claims with extensive references- when I see those, I think they're just making it all up. For example, there is this "7 +/- 2" rule about complexity that you often see in various contexts. But noone ever mentions what basis exists for it, so it's considered to be a rule of thumb. But there really was research done on this, and there really is an original source in the scientific literature for this "rule of thumb".
To me, the astonishing thing has been how old much of this literature is- you would assume that it is some sort of brand new topic, but you find the basis for this stuff originating not in the 80's, or the 70's, or even the 60's, but back in the 50's and even back in the 30's. By the mid-80's, it appears that reuse had become a fairly mature subject, and sufficiently well understood to be effectively carried out in environments using procedural languages. From what I've seen, I'd have to say that reuse ceased to be a topic of research by that time- from then on, it's been an issue of successfully applying that knowledge. Unfortunately, this is still a big issue as the problems in applying reuse are primarily cultural rather than technical in nature.
les
squeak-dev@lists.squeakfoundation.org