Article View: pl.comp.lang.c
Article #310494Re: LISKOV and SOLID
From: Przemek Biernat
Date: Sun, 21 Jan 2024 16:19
Date: Sun, 21 Jan 2024 16:19
22 lines
2736 bytes
2736 bytes
On Saturday, January 20, 2024 at 8:58:53 PM UTC+1, heby wrote: > On 20/01/2024 18:35, Przemek Biernat wrote: > > Czy nie uważacie że obecnie stosowanie LISKOV i SOLID to już przeszłość. Czekam na opinie > Opinie do przypadkowego stwierdzenia? Nie. > > Uzasadnij co uważasz za błedne w tych podejściach, powiedz jakie masz > obserwacje pokazujące spadajacą użyteczność, przedstaw jakie rozwiązania > zastępują ich miejsce. > > Wtedy będzie można mieć jakies opinie. 1. Pojedyncza odpowiedzialność. Według mnie klasy wymyślono po to aby grupować i zamykać funkcjonalność. Czy chodzi o to aby klasy miały po jednej metodzie? 2. Otwarte zamknięte. Przykład: wzorzec fabryka, jak ci dochodzi kolejna klasa to i tak musisz zmienić kod fabryki i dodać generowanie klasy. 3. Liskov. To już jest czysty idealizm. Często nie udaje się aby wszystkie klasy potomne implementowały funkcje wszystkie funkcje klasy bazowej. Wyjściem są wiszące metody lub rzutowanie, osobiście preferuje static_cast z kontrolą typu. 4. Interfejsy podobnie jak wyżej patrz 1 i 3 5. Zależność od interfejsów a nie od konkretnych typów - to wydaje się być sensowne A co powiecie gdyby iteratory były przekażywane przez wskaźnik i taki iterator był zwracany na zewnątrz klasy w celu wykonania algorytmu poza klasą ale na kontenerze klasy. Zapraszam do dyskusji. Przemek
Technical Details
Message-ID:
<65b2e948-fef2-45ba-89b1-d6aac3b16de9n@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!1.us.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<a08f4202-1445-49c5-93f2-67917f369cddn@googlegroups.com> <uoh8lq$3q7vg$1@dont-email.me>Show Full Headers
Complete Article Headers
X-Received: by 2002:a05:622a:481b:b0:42a:15e0:3b83 with SMTP id fb27-20020a05622a481b00b0042a15e03b83mr472634qtb.6.1705853941980; Sun, 21 Jan 2024 08:19:01 -0800 (PST) X-Received: by 2002:a05:6820:22a6:b0:599:3fff:c5a2 with SMTP id ck38-20020a05682022a600b005993fffc5a2mr355520oob.1.1705853941679; Sun, 21 Jan 2024 08:19:01 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!1.us.feeder.erje.net!feeder.erje.net!border-1.nntp.ord.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Sun, 21 Jan 2024 08:19:01 -0800 (PST) In-Reply-To: <uoh8lq$3q7vg$1@dont-email.me> Injection-Info: google-groups.googlegroups.com; posting-host=193.238.201.2; posting-account=JqeG5AoAAAAiFyQBrqF1gF5A1eLVPTrJ NNTP-Posting-Host: 193.238.201.2 References: <a08f4202-1445-49c5-93f2-67917f369cddn@googlegroups.com> <uoh8lq$3q7vg$1@dont-email.me> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <65b2e948-fef2-45ba-89b1-d6aac3b16de9n@googlegroups.com> Subject: Re: LISKOV and SOLID From: Przemek Biernat <biernat.przemyslaw@gmail.com> Injection-Date: Sun, 21 Jan 2024 16:19:01 +0000 Lines: 34 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit