🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310494

Re: LISKOV and SOLID

#310494
From: Przemek Biernat
Date: Sun, 21 Jan 2024 16:19
22 lines
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-mail
References: <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