Powiązane publikacje 'design-principles'


Kompozycja zamiast dziedziczenia: potężna zasada projektowania
Wprowadzenie: W świecie tworzenia aplikacji na Androida przy użyciu Kotlina wybór właściwej zasady projektowania ma kluczowe znaczenie dla stworzenia łatwego w utrzymaniu i skalowalnego kodu. Jedną z takich zasad, która zyskała popularność, jest „Kompozycja zamiast dziedziczenia”. Zasada ta zachęca programistów do faworyzowania kompozycji, która polega na budowaniu złożonych obiektów poprzez łączenie prostszych, nad dziedziczeniem, które polega na dziedziczeniu właściwości i zachowań z..

SUCHE (nie powtarzaj się) może się nie udać
„Nie powtarzaj” nie oznacza powtarzania podczas pisania, ale powtarzania podczas myślenia. Jeśli dwa podobne kody służą różnym celom/problemom, dobrze jest uzyskać WET (Napisz wszystko dwa razy). Kiedy niewłaściwie SUSZEMY, zaczynamy wyczuwać środki zapobiegające zmianom zwane „Shotgun Surgery” lub „Divergent Change”. Niektóre opowieści mówią, że musimy poczekać, aż trzy razy pojawią się podobne kody, zanim umieścimy je w jednej funkcji („Zasada trzech”).

Modułowość w projektowaniu
Jednym z głównych aspektów programowania jest również modułowość. Aby upewnić się, że kod nie jest złożony, łatwy do zrozumienia, kod jest testowalny, wszystko to zależy od tego, jak twój kod jest modułowy. Tylko do dyskusji, jeśli myślimy, dlaczego potrzebujemy kodu modułowego, napisz tyle różnych metod i uporządkuj je, jako analogię, pomyśl tylko o swoich szafach. Jeśli wrzucisz wszystkie swoje ubrania do jednego dużego pudełka, co się stanie? Kilka problemów, z którymi się zmierzysz,..

Powiązane pytania 'design-principles'

Jaki jest przykład zasady substytucji Liskova?
Słyszałem, że zasada substytucji Liskov (LSP) jest podstawową zasadą projektowania obiektowego. Co to jest i jakie są przykłady jego zastosowania?
398685 wyświetlenia

Zawijanie argumentów funkcji?
Załóżmy, że mam taką funkcję: void foo (struct1 &v1, struct2 &v2, ..., structn &vn){ //do something with a subset some of the arguments... foo1(v1, v2, ..., vn); } void foo1 (struct1 &v1, struct2 &v2, ..., structn...
286 wyświetlenia