🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi
Article #346416

Re: Circular Unit Reference (Circular Class Reference)

#346416
From: Mikołaj 'Virion' Milewski
Date: Thu, 15 Mar 2018 11:23
23 lines
3751 bytes
W dniu czwartek, 15 marca 2018 07:54:33 UTC+1 użytkownik immo napisał:

> I w sumie się zastanawiałem nad tym co Virion pisał o kontenerze IoC i stwierdziłem że to nie dla mnie :)
> 
> Bardziej mi pasuje dostęp hierarchiczny niż ten oferowany przez kontener. Chociaż to kwestia gustu.
> 
> Tym bardziej, że w Core (w trakcie działania aplikacji) ja trzymam także jej stan, a z tego co wiem (chyba że nie wiem) to w kontenerze IoC nie trzyma się stanu. Wiec zamiast jednego wszechmocnego Core miałbym kilka cosiów i kontener z klasami do użycia :P

Kontenery IoC z reguły pozwalają na konfigurację czasu życia każdego z serwisów z osobna. To znaczy, że jeśli jakiś serwis ma być singletonem, to tak to konfigurujesz i jest :-) "Lepsze" kontenery (jak AutoFac dla .NET albo ten z Angulara) pozwalają na tworzenie zagnieżdżanych zakresów (nestable scopes): http://autofaccn.readthedocs.io/en/latest/lifetime/

> (wiem, teraz przesadzam w drugą stronę).

God Object? ;-) A bardziej serio, to do opisu problemów Waszego Core Object chyba najbardziej pasuje ten antywzorzec:

http://deviq.com/static-cling/

Jak mówiłem na wykładzie we wrześniu: jeśli tylko wiesz, DLACZEGO chcesz/potrzebujesz złamać jakąś regułę - łam ją. To wolny kraj i wolny zawód. Mi bardziej pasuje kontener, wiele różnych firm i ich platform też na to rozwiązanie przeszło (Google - Angular, Microsoft - ASP.NET, etc), więc go polecam. Tylko tyle i aż tyle.

> pozdrawiam,
> Przemek O.

Pozdrawiam,
Virion
Technical Details
Message-ID: <4e8c4fd8-e2e4-4a7b-b124-54534753fc5b@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e10-v6no808211itf.0!news-out.google.com!a25-v6ni1541itj.0!nntp.google.com!e10-v6no808208itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <06e89078-c8b6-46f1-8353-fe26050464f7@googlegroups.com> <1f7uetk1q6zns.dlg@tyczka.com> <a9a0ea51-cda4-4d78-b162-30263f6da079@googlegroups.com> <5aa02014$0$31354$65785112@news.neostrada.pl> <dyi5ls6ud9lq$.dlg@tyczka.com> <5aa04edf$0$673$65785112@news.neostrada.pl> <039a897c-b565-44af-9878-417a0e3704a9@googlegroups.com> <5aa127ab$0$1005$65785112@news.neostrada.pl> <952c4560-1ed3-4e78-a5fa-89e8254227c4@googlegroups.com> <1w838ct6a2suq.dlg@tyczka.com> <5aa143d6$0$1001$65785112@news.neostrada.pl> <8d0301ff-0c6a-48d3-a311-0765e733e24f@googlegroups.com> <a98a8d85-555e-4d7b-9f23-808d97ecc581@googlegroups.com> <434070bc-f6d9-465a-9e0c-3b6f942ec775@googlegroups.com> <5aa8e150$0$31373$65785112@news.neostrada.pl> <p8bndm$fos$1@node2.news.atman.pl> <7a8f5b1c-76fb-4c72-a3a4-5aa6ca435a7f@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a24:3a90:: with SMTP id m138-v6mr2586195itm.37.1521113037878;        Thu, 15 Mar 2018 04:23:57 -0700 (PDT)
X-Received: by 10.157.68.9 with SMTP id u9mr425931ote.5.1521113037658; Thu, 15 Mar 2018 04:23:57 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e10-v6no808211itf.0!news-out.google.com!a25-v6ni1541itj.0!nntp.google.com!e10-v6no808208itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.delphi
Date: Thu, 15 Mar 2018 04:23:57 -0700 (PDT)
In-Reply-To: <7a8f5b1c-76fb-4c72-a3a4-5aa6ca435a7f@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=83.168.65.93; posting-account=lYD4HAoAAAB1LtmkMAsKipnMzMmp1fk7
NNTP-Posting-Host: 83.168.65.93
References: <06e89078-c8b6-46f1-8353-fe26050464f7@googlegroups.com> <1f7uetk1q6zns.dlg@tyczka.com> <a9a0ea51-cda4-4d78-b162-30263f6da079@googlegroups.com> <5aa02014$0$31354$65785112@news.neostrada.pl> <dyi5ls6ud9lq$.dlg@tyczka.com> <5aa04edf$0$673$65785112@news.neostrada.pl> <039a897c-b565-44af-9878-417a0e3704a9@googlegroups.com> <5aa127ab$0$1005$65785112@news.neostrada.pl> <952c4560-1ed3-4e78-a5fa-89e8254227c4@googlegroups.com> <1w838ct6a2suq.dlg@tyczka.com> <5aa143d6$0$1001$65785112@news.neostrada.pl> <8d0301ff-0c6a-48d3-a311-0765e733e24f@googlegroups.com> <a98a8d85-555e-4d7b-9f23-808d97ecc581@googlegroups.com> <434070bc-f6d9-465a-9e0c-3b6f942ec775@googlegroups.com> <5aa8e150$0$31373$65785112@news.neostrada.pl> <p8bndm$fos$1@node2.news.atman.pl> <7a8f5b1c-76fb-4c72-a3a4-5aa6ca435a7f@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4e8c4fd8-e2e4-4a7b-b124-54534753fc5b@googlegroups.com>
Subject: Re: Circular Unit Reference (Circular Class Reference)
From: Mikołaj 'Virion' Milewski
 <mikolaj.milewski@gmail.com>
Injection-Date: Thu, 15 Mar 2018 11:23:57 +0000
Lines: 39
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit