Bu bağlantılı makalede Batı tarafından tarif edilen "saf toplama" yaklaşımı bir "varlık" nesnesinden tamamen kaçınır. Bellekte dolaşan bileşenler vardır, ancak bunlar yalnızca örtük ilişkilerle birbirine bağlanır.
Bunu yapmanın bir yolu dıştan takmalı bir yaklaşımdır . Böyle bir sistemde, bileşenler onları yöneten veya başka şekilde kontrol eden sistemler tarafından tutulur (burada "yönet" terimini kullanıyorum, ancak bunu tutmak için bir grup * Yönetici sınıfına sahip olmanızı önerdiğim anlamına gelmemelisiniz. bileşen türleri). Örneğin, fizik sisteminiz, simülasyon dünyasındaki her bir katı cismi temsil eden bir grup şeyi tutabilir ve bunları Fizik Bileşenleri olarak ortaya çıkarabilir. Bileşenler, söz konusu alt sistem tarafından işlenen gerçek nesneler olabilir veya gerektiğinde bu nesneler için proxy olabilirler.
Böyle bir sistemde, bir "Varlık" sınıfının onu oluşturan bileşenlere bir referans koleksiyonu tutması gerekmemektedir; bunun yerine bir "varlığın" oluşturulması veya imhası ile ilgili bir bildirim yapılır ve bileşenleri işleyen her alt sistem, yaratılan / yok edilen varlığın açıklamasına bakar (genellikle bazı verilerden yüklenir) ve bunun için bir bileşenin gerekli olup olmadığını belirler.
Bu yaklaşımın avantajlarından biri, her bileşen için gerçekten iyi bir referans konumu elde etmenizdir. Ne yazık ki, biraz garip, genel ve karşılaştığım bileşen tabanlı varlıkların en samimi tadı değil. Bazen, bir nesneyi temsil eden gerçek bir nesneye sahip olmak gerçekten uygundur, ancak bu nesne hala diğer alt sistemler tarafından tutulan bileşenlere zayıf referanslar toplasa bile (başka bir şey yoksa, bileşenler arasındaki mesajları yönlendirmek için kolay bir yol sağlar) .
Bileşene yönelik oyun nesne sistemlerini uygulamanın birkaç iyi yolu vardır; gerçekten, gerçekten, gerçekten sisteminizden çıkmak istediğiniz gereksinimler hakkında sağlam bir fikriniz varsa yardımcı olur - Unity gibi popüler çerçevelerin örnekler için ne yaptığını görebilirsiniz. Kendiniz için katı gereksinimler belirlemeksizin, sistemi gerçekten inşa etmeden sonsuz bir şekilde "tasarlama" sorunuyla karşılaşabilirsiniz, mükemmel uygulamaya vurmaya boşuna çalışın. Her ne sebeple olursa olsun, bunu bileşen sistemlerinde çok gördüm.