🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

4 total messages Started by Borneq Mon, 25 Feb 2019 19:01
Czy stosować wielokrotne dziedziczenie danych ?
#309830
Author: Borneq
Date: Mon, 25 Feb 2019 19:01
12 lines
1657 bytes
a nie tylko zbioru wirtualnych metod czyli interfejsów?
Niektórzy wyklinają wielokrotne dziedziczenie, jakby to był błąd C++, w 
Javie i C# nie ma. Jeśli chodzi o wadę - to bardziej skomplikowany graf 
zależności statycznych - nie drzewo.
Ale weźmy coś takiego: blok bitcoina ma transakcje, te mają inputy i 
outputy, ale chcę by to blok mógł być właścicielem bezpośrednio inputów 
i outputów bo czasem chcę masowo coś na nich zrobić. Właściciel mógłby 
kasować, podczas gdy transakcja by miała listę, ale nie była 
właścicielem (nie zawsze) nie mogła kasować.
Trzeba by zrobić klasy OutputsOwner,InputsOwner oraz TransactionsOwner. 
Transakcja dziedziczyła by z tych dwóch a blok z trzech. To jest 
przykład gdzie przydało by się wielokrotne dziedziczenie.
Re: Czy stosować wielokrotne dziedziczenie danych ?
#309831
Author: Przemek Biernat
Date: Sat, 09 Mar 2019 21:05
13 lines
2642 bytes
On Monday, February 25, 2019 at 8:01:34 PM UTC+1, Borneq wrote:

> Trzeba by zrobić klasy OutputsOwner,InputsOwner oraz TransactionsOwner. 
> Transakcja dziedziczyła by z tych dwóch a blok z trzech. To jest 
> przykład gdzie przydało by się wielokrotne dziedziczenie.

Czy w twoim przypadku nie lepiej zastosować agregację gdzie OutputsOwner oraz InputsOwner byłyby dynamiczne - wskaźniki lub referencje.

U siebie wielokrotne dziedziczenie potrzebowałem w sytuacji podczas pisania jednej z pierwszych wersji serwera, i chcialem żeby klasy interfejsu poleceń po stronie serwera zawierały dodatkową funkcję tak żeby ta funkcja nie była widoczna po stronie klienta.

Wielokrotne dziedziczenie rozumiem przez takie jakby domiekowanie kolejnej klasy - jej interfejsu.

Później dowiedziałem się że to strasznie wolne i zaniechałem korzystania z wielokrotnego dziedziczenia. Pytanie dlaczego miało by być to wolne, być może kompilacja byłaby bardziej skomplikowana a tym samym dłuższa w czasie, ale czy runtime? Hmm Ciekawe czy ktoś to sprawdzał wymiernymi testami.
Re: Czy stosować wielokrotne dziedziczenie danych ?
#309832
Author: Szyk Cech
Date: Sat, 09 Mar 2019 21:13
6 lines
1597 bytes
> Wielokrotne dziedziczenie rozumiem przez takie jakby domiekowanie kolejnej klasy - jej interfejsu.
> 
> Później dowiedziałem się że to strasznie wolne i zaniechałem korzystania z wielokrotnego dziedziczenia. Pytanie dlaczego miało by być to wolne, być może kompilacja byłaby bardziej skomplikowana a tym samym dłuższa w czasie, ale czy runtime? Hmm Ciekawe czy ktoś to sprawdzał wymiernymi testami.
> 

Co Cię powstrzymuje od weryfikacji tego twierdzenia?!?
Re: Czy stosować wielokrotne dziedziczenie danych ?
#309833
Author: Przemek Biernat
Date: Sun, 10 Mar 2019 20:29
11 lines
2426 bytes
On Saturday, March 9, 2019 at 10:13:51 PM UTC+1, Szyk Cech wrote:
> > Wielokrotne dziedziczenie rozumiem przez takie jakby domiekowanie kolejnej klasy - jej interfejsu.
> > 
> > Później dowiedziałem się że to strasznie wolne i zaniechałem korzystania z wielokrotnego dziedziczenia. Pytanie dlaczego miało by być to wolne, być może kompilacja byłaby bardziej skomplikowana a tym samym dłuższa w czasie, ale czy runtime? Hmm Ciekawe czy ktoś to sprawdzał wymiernymi testami.
> > 
> 
> Co Cię powstrzymuje od weryfikacji tego twierdzenia?!?

Obecnie nie mam źródeł tamtej wersji serwera, a nie chcę już za bardzo mieszać w obecnym rozwiązaniu godząc się na to że metoda po stronie klienta będzie pusta lub rzuci wyjątek.

Poza tym badanie wydajności rozwiązania nie jest takie proste tak mnie się wydaje.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads