Wpis z mikrobloga

No nie mogę: Mam ludzi w pracy co definiują Interfejs do struktury danych.

Jest sobie jakaś klasa/interfejs co w jakiejś metodzie zwraca strukturę danych? - zdefiniujmy też do tej struktury interfejs! A po co? Żeby było 'elastycznie', żeby ten kto będzie tego używał mógł 'rozszerzyć' tą strukturę o coś swojego! (jakby nie mógł po prostu korzystać z tej struktury tam gdzie jest to potrzebne ( ͡° ʖ̯ ͡°) ).
I są potem takie potworki:

interface ISomeData
{
bool Data1 { get; set; }
string Data2 { get; set; }
int Data3 { get; set; }
}

SomeData : ISomeData
{
bool Data1 { get; set; }
string Data2 { get; set; }
int Data3 { get; set; }
...
}

SomeData2 : ISomeData ...

#programowanie #programista15k #zalesie
  • 9
@LeopoldStuff: masz jakieś błędne przekonanie. Klase przekazujesz przez refrencje a struktura jest przekazywana przez wartość i to chyba jedyna różnica. Po za tym zachowują sie tak samo. Struktury używasz np żeby zoptymalizować dostęp do pamieci bom ożesz trzymać ja na stacku a nie na heapie i tyle. Zarówno jedno jak i drugie może miec logike metody itp
@zibizz1: >Klase przekazujesz przez refrencje a struktura jest przekazywana przez wartość
nie chodzi mi o strukturę w kontekście takim czy to jest value czy ref type. Struktura danych to pojęcie szersze.
Obiekty mają zachowania i zależności a struktury danych mają tylko dane, ewentualnie jeszcze pomocnicze metody do zarządzania tymi danym (jak string czy DateTime). Nie ma to nic wspólnego z tym czy coś zdefiniowane zostało jako struct czy class.
To czy