Article View: pl.comp.lang.delphi
Article #346396Re: Circular Unit Reference (Circular Class Reference)
From: immo
Date: Wed, 07 Mar 2018 12:25
Date: Wed, 07 Mar 2018 12:25
51 lines
3076 bytes
3076 bytes
W dniu środa, 7 marca 2018 13:03:42 UTC+1 użytkownik Roman Tyczka napisał: > On Wed, 7 Mar 2018 01:45:20 -0800 (PST), immo wrote: > > > Tak się nad tym zastanawiam jak to zrobić ładnie i dlatego proszę Was o > > jakieś propozycje. Żeby nie było, ja coś takiego mam działającego :) i > > napiszę na koniec jak to zrobiłem. Niemniej jest to w bardzo starej > > apce, którą chciałbym częściowo przepisać na nowo stąd moje pytanie, bo > > być może jest "ładniejszy" sposób na wykonanie tego. > > Poszedłbym drogą generyków, czyli jakoś tak: > > unit z corem: > > ICoreMain = interface > function CoreConnection : ICoreConnection<ICoreMain>; > end; > > unit z toolem: > > ICoreConnection<I> = interface > function CoreMain : I; > end; > Nie wiem czy by to kodu nie zagmatwało za bardzo, w sensie za dużego naddatku kodu :) Może nie wynikało to z pierwszego posta, ale ten Core może mieć więcej w sobie tych klas, a każda klasa może mieć w sobie także nielimitowaną ich ilość. Taka struktura drzewiasta :) Powiedzmy że nieokreślona na etapie projektowania... Core |-Connection | |-MainConnection | | |-cosTamX | | |-... | | \-cosTamXX | |-... | \-ConnectionX |-Tools |-Logic | |-Logic1 | |-... | \-LogicX |-OtherFN |-... \-OtherFN_X Wydaje mi się, że budowanie takiego interfejsu w pewnym momencie byłoby problemowe - a może nie? I zdaje sobie sprawę, że chce napisać coś, co jest silnie powiązane, a tendencje są takie żeby tego nie robić... Zresztą czytałem gdzieś ze wzorca singletona też nie powinno się używać :P pozdrawiam, Przemek O.
Technical Details
Message-ID:
<a9a0ea51-cda4-4d78-b162-30263f6da079@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!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!r195no120307itc.0!news-out.google.com!a2ni842ite.0!nntp.google.com!e10no277900itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<06e89078-c8b6-46f1-8353-fe26050464f7@googlegroups.com> <1f7uetk1q6zns.dlg@tyczka.com>Show Full Headers
Complete Article Headers
X-Received: by 10.36.108.81 with SMTP id w78mr14412610itb.43.1520425526857; Wed, 07 Mar 2018 04:25:26 -0800 (PST) X-Received: by 10.157.1.9 with SMTP id 9mr1159908otu.8.1520425526602; Wed, 07 Mar 2018 04:25:26 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!r195no120307itc.0!news-out.google.com!a2ni842ite.0!nntp.google.com!e10no277900itf.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.delphi Date: Wed, 7 Mar 2018 04:25:26 -0800 (PST) In-Reply-To: <1f7uetk1q6zns.dlg@tyczka.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.65.28.194; posting-account=uWBjDgoAAACxkgIP6dtE4dpCnc16V86n NNTP-Posting-Host: 77.65.28.194 References: <06e89078-c8b6-46f1-8353-fe26050464f7@googlegroups.com> <1f7uetk1q6zns.dlg@tyczka.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <a9a0ea51-cda4-4d78-b162-30263f6da079@googlegroups.com> Subject: Re: Circular Unit Reference (Circular Class Reference) From: immo <przemek-o@soft-system.pl> Injection-Date: Wed, 07 Mar 2018 12:25:26 +0000 X-Received-Body-CRC: 1443674477 X-Received-Bytes: 3297 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit