Pytania otagowane jako solid

Mnemoniki dla zestawu zasad projektowania: pojedyncza odpowiedzialność, otwarte-zamknięte, podstawienie Liskowa, segregacja interfejsu, inwersja zależności

16
Kiedy stosuje się zasadę pojedynczej odpowiedzialności, co stanowi „odpowiedzialność?”
Wydaje się całkiem jasne, że „zasada pojedynczej odpowiedzialności” nie oznacza „tylko jednej rzeczy”. Po to są metody. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin mówi, że „klasy powinny mieć tylko jeden powód do zmiany”. …

6
SOLID Zasady i struktura kodu
Podczas ostatniej rozmowy o pracę nie mogłem odpowiedzieć na pytanie o SOLID - poza podaniem podstawowego znaczenia różnych zasad. Naprawdę mnie to wkurza. Zrobiłem kilka dni, żeby się rozejrzeć i jeszcze nie opracowałem satysfakcjonującego podsumowania. Pytanie do wywiadu brzmiało: Jeśli spojrzałbyś na projekt .Net, o którym mówiłem, że ściśle przestrzegasz …
150 c#  .net  solid 

10
Czy jest to naruszenie zasady substytucji Liskowa?
Powiedzmy, że mamy listę encji Zadania i ProjectTaskpodtyp. Zadania można zamknąć w dowolnym momencie, z wyjątkiem tych, ProjectTasksktórych nie można zamknąć, gdy mają status Uruchomione. Interfejs użytkownika powinien upewnić się, że opcja zamknięcia uruchomionego ProjectTasknigdy nie jest dostępna, ale w domenie istnieją pewne zabezpieczenia: public class Task { public Status …

12
Dlaczego dziedziczenie Square z Rectangle byłoby problematyczne, jeśli przesłoniliśmy metody SetWidth i SetHeight?
Jeśli kwadrat jest rodzajem prostokąta, to dlaczego kwadrat nie może odziedziczyć po prostokącie? Lub dlaczego jest to zły projekt? Słyszałem, jak ludzie mówią: Jeśli sprawiłeś, że Kwadrat pochodzi z prostokąta, kwadrat powinien być użyteczny wszędzie tam, gdzie oczekujesz prostokąta Jaki jest tutaj problem? I dlaczego Square miałby być użyteczny wszędzie …


8
Jak klasa może mieć wiele metod bez naruszania zasady pojedynczej odpowiedzialności
Zasada pojedynczej odpowiedzialności jest zdefiniowana w Wikipedii jako Zasada pojedynczej odpowiedzialności jest zasadą programowania komputerowego, która stwierdza, że ​​każdy moduł, klasa lub funkcja powinna ponosić odpowiedzialność za jedną część funkcjonalności zapewnianej przez oprogramowanie, a odpowiedzialność powinna być całkowicie zamknięta w klasie Jeśli klasa powinna ponosić tylko jedną odpowiedzialność, jak może …

10
Dlaczego słowo „końcowe” miałoby być przydatne?
Wygląda na to, że Java ma moc deklarowania klas niepochodzących od wieków, a teraz C ++ też to ma. Jednak w świetle zasady Open / Close w SOLID, dlaczego miałoby to być przydatne? Dla mnie finalsłowo kluczowe brzmi jak friend- jest legalne, ale jeśli go używasz, najprawdopodobniej projekt jest nieprawidłowy. …
54 java  c++  solid  final 

5
Jakie zasady projektowania promują testowalny kod? (projektowanie testowalnego kodu vs testowanie projektu poprzez testy)
Większość projektów, nad którymi pracuję, rozważa rozwój i testy jednostkowe w oderwaniu, co sprawia, że ​​pisanie testów jednostkowych w późniejszym przypadku jest koszmarem. Moim celem jest pamiętanie o testach podczas samych faz projektowania wysokiego i niskiego poziomu. Chcę wiedzieć, czy istnieją dobrze zdefiniowane zasady projektowania, które promują testowalny kod. Jedną …

5
Kontenery MKOl naruszają zasady OOP
Jaki jest cel kontenerów MKOl? Połączone powody można uprościć w następujący sposób: Podczas korzystania z zasad programistycznych OOP / SOLID, wstrzykiwanie zależności jest nieporządne. Albo masz punkty wejścia najwyższego poziomu, które zarządzają zależnościami dla wielu poziomów poniżej siebie i przekazują zależności rekurencyjnie przez konstrukcję, albo masz nieco zduplikowany kod we …

7
Zarządzanie i organizacja znacznie większej liczby klas po przejściu na SOLID?
W ciągu ostatnich kilku lat powoli przechodziliśmy na stopniowo coraz lepszy kod, kilka kroków naraz. W końcu zaczynamy przestawiać się na coś, co przynajmniej przypomina SOLID, ale jeszcze tam nie jesteśmy. Od czasu dokonania zmiany, jednym z największych zarzutów ze strony programistów jest to, że nie mogą znieść recenzowania i …

8
LSP vs OCP / Liskov Substitution VS Open Close
Próbuję zrozumieć SOLIDNE zasady OOP i doszedłem do wniosku, że LSP i OCP mają pewne podobieństwa (jeśli nie powiedzieć więcej). zasada otwarta / zamknięta stwierdza: „jednostki oprogramowania (klasy, moduły, funkcje itp.) powinny być otwarte na rozszerzenie, ale zamknięte na modyfikację”. LSP w prostych słowach stwierdza, że ​​dowolną instancję Foomożna zastąpić …


7
Kiedy NIE należy stosować zasady odwrócenia zależności?
Obecnie próbuję znaleźć SOLID. Zatem zasada inwersji zależności oznacza, że ​​dowolne dwie klasy powinny komunikować się za pośrednictwem interfejsów, a nie bezpośrednio. Przykład: Jeśli class Ama metodę, która oczekuje wskaźnika do obiektu typu class B, wówczas metoda ta powinna faktycznie oczekiwać obiektu typu abstract base class of B. Pomaga to …

7
SOLIDNE zasady a YAGNI
Kiedy zasady SOLID stają się YAGNI? Jako programiści dokonujemy kompromisów przez cały czas, między złożonością, łatwością utrzymania, czasem budowy i tak dalej. Między innymi dwie najmądrzejsze wytyczne dotyczące dokonywania wyborów to moim zdaniem zasady SOLID i YAGNI. Jeśli nie potrzebujesz tego; nie buduj go i utrzymuj w czystości. Teraz, na …

3
Programowanie zasad SOLID
Z czasem mogłem zrozumieć dwie części SOLID - „S” i „O”. „O” - nauczyłem się otwartej zasady zamkniętej za pomocą wzoru dziedziczenia i strategii. „S” - nauczyłem się zasady pojedynczej odpowiedzialności podczas uczenia się ORM (logika trwałości jest odbierana obiektom domeny). W podobny sposób, jakie są najlepsze regiony / zadania …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.