Hi Sean, > ok i have another. lets take something that in a sql > driven environment would be a lookup table. > countries and states. what the the smalltalk way with this?
There are a number of patterns for this. Not all of them are strictly object oriented. The easiest way to do this is to use a database to hold and coordinate the data. Then you would query for the data and instantiate objects as needed (and maybe cache some frequently used ones). Your suggestion of using a class variable or a class method that is responsible for creating all of your instances also makes sense. You can either build all the instances and save them in your image or build the instances during startup or lazily when needed. You need to have some root to hold those new instances to keep them from being garbage collected. This can also be done with a class variable. Just set a class variable to a collection of your instances, then use that variable to lookup your instances. Having an external file is also a good way to go. The same issues arise from the file as for putting the data in a method, but benefit of using the file is that your data is not saved in code and can be updated without changing your running image, although your image needs to know when the file changes so that it can refresh your instances. Hope that helps, Ron Teitelbaum _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners