RenamingWikiPages provides a good base to think about inheritance, components and software evolution. Suppose there is a wiki page called Goodstuff, then there get to be other pages referencing Goodstuff. Then you decide you want to call it Betterstuff. 1 suppose you change the name to Betterstuff - arghh - then all the places referencing it point to noplace. So you decide to autoupdate all the references. 2 But maybe you really want there to be Goodstuff as well as Betterstuff - arghh - now everyplace points to Betterstuff, even the ones you wanted to point to Goodstuff (see the benefit of ComponentManagedPersistence). 3 So you make a tool that shows you all references to Goodstuff so you can choose which ones to move to Betterstuff - arghh - that sure is a lot of work! All of which applies to components in general --AlistairCockburn ---- If Wiki were "implemented" in Smalltalk, I'd just do senders of Goodstuff and change the ones I wanted to Betterstuff in the senders window. I'm starting to wonder why anyone ever programs any other way. ;-> --RonJeffries ---- There are all sorts of things that you can do when you have global knowledge of a system. Separately compiled languages with source in file systems were a necessity when we couldn't fit all the source of a system in memory at once. Smalltalk shows just how simple things can get when everything is readily accessible from everywhere. Paradoxically, just as it becomes more feasible to use an "image" approach for very large systems, people clamor more and more for distributed and incrementally deployable systems. -- MichaelFeathers ---- CategoryComponents