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.
>

Reply via email to