On 4 April 2012 22:32, Igor Stasenko <[email protected]> wrote: > On 4 April 2012 23:25, <[email protected]> wrote: >> Mariano, >> >> In fact, presently use of become is not considered good OOP so at first >> my humble suggestion is you consider revising the whole architecture >> in order to understand why you need such a thing and find a better >> [design] pattern. >> > > there is no other way to represent an object by proxy, which is not > yet in memory, but loaded on demand. > otherwise you will be forced to make an outer object (which refers to > a proxy), to know it > and replace a reference to it with another object.
And this seems like precisely one of those times you really do want to reach into the magic toolbox for #become:. Sometimes you really do need it. frank >> HTH >> >> -- >> Cesar Rabak >> >> >> Em 04/04/2012 12:32, Mariano Martinez Peck < [email protected] > >> escreveu: >> >>> Hi guys. I noticed that there is a limit in the number of objects >>> you can become. In my case, I am becoming 2312157 objects. So..I >>> don't expect that the become works. I imagine that it was not >>> designed for so many objects in mind ;) >>> However, what I would really understand is where is the limitation >>> and the reason. And of course, if someone already knows which is >>> the real number limit. Otherwise, I will do a kind of binary search >>> and discover it. >>> If you want to reproduce it: >>> | dict | >>> dict := Dictionary new. >>> 2312157 timesRepeat: [ dict at: Object new put: Object new ]. >>> 3 timesRepeat: [Smalltalk garbageCollect]. >>> dict keys elementsForwardIdentityTo: dict values. >>> >>> throws a #primitiveFailed. >>> >>> Thanks, >> > > > > -- > Best regards, > Igor Stasenko. >
