Article View: pl.comp.lang.delphi
Article #346416Re: Circular Unit Reference (Circular Class Reference)
From: Mikołaj 'Virion' Milewski
Date: Thu, 15 Mar 2018 11:23
Date: Thu, 15 Mar 2018 11:23
23 lines
3751 bytes
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-mailReferences:
<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