On Wed, Apr 4, 2012 at 11:51 PM, Frank Shearar <[email protected]>wrote:

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

Thanks Carlos for the advice. Since Igor knows what I am doing, he answered
for me ;)
So yes....I am swappout graphs between primary and secondary memory and
there are objects that I need to become to proxies and vice-versa.
This is not an app what I am doing, but a kind of hacky stuff implemented
at the object side.

Cheers


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


-- 
Mariano
http://marianopeck.wordpress.com

Reply via email to