Składniki dla ratowania dziedzictwa

Możesz wierzyć mi na słowo, to się w końcu zdarza się

Pojęcie dziedziczenia, jest koncepcją, którą trzeba opanować, kiedy używamy językaJeśli chcesz zorganizować swój kod wokół obiektów, istnieje duże prawdopodobieństwo, że natkniesz się w razie potrzeby korzystać z dziedziczenia. Dobrze, że dziedzictwo przynosi wiele zalet, to nie jest odpowiedź na wszystkie pytania.

Jeśli znajdziesz się w obsłudze ślepego dziedziczenia, istnieje duże prawdopodobieństwo, że mordiez palce, kilka miesięcy później, kiedy trzeba będzie zmienić zakres funkcjonalny aplikacji.

Oczywiście, istnieje pokusa, by powiedzieć:"Jeśli nie dziedziczy Foo, to ja wszystkie swoje możliwości, bez wysiłku.". Ale w tym samym czasie, można związać bardzo mocno swoje dwie klasy, a jeśli pochodzą one różnić w przyszłości nie będzie w stanie, że można po prostu powiedzieć:"Ok, dzielą, kiedy niektóre cechy". Można wtedy zaczniesz rozumieć, co to teraz trudno sprawdzić każdego z tych klas, i że on wcale nie jest oczywiste, je rozdzielić. I zaczynają się problemy.

Dziś skupimy się na architekturze oprogramowania. js

Opieka dla programistów nie mających doświadczenia w tym, że nikt nie rozumie tego faktu, że w połowie projektu, lub gdy klient chce dokonać zmian w funkcjonowaniu istniejącego elementu. Trzeba wiedzieć, wykrywać różne rodzaje relacji, które mogą istnieć między klasami. Klasa może być powiązany z innym w trzech typach relacji: kompozycja zawsze będzie bardziej elastyczny, że mixin i nie będą bezpośrednio związane z klasą, w której się znajduje, w przeciwieństwie do dziedziczenia. Teraz pojazdy, które mają prędkość, samochody mogą jeździć i helikoptery mogą latać. A teraz załóżmy, że chcemy utworzyć klasę dla samolotów, które technicznie mogą jeździć i latać. Nasz samolot znajduje się w połowie drogi między samochodem i helikopterem. Oczywiście, można byłoby użyć wstawek, ale to nie jest ani więcej, ani mniej, że formy wielokrotnego dziedziczenia. To byłoby o wiele lepiej, niż nasz aktualny rozwiązanie i pozwoli rozwiązać nasz problem. Innym rozwiązaniem byłoby użyć skład, który pozwala izolować postępowania w specjalistyczne. Będzie można potem użyć instancje tych klas w innych klasach. To pozwala mieć klasy charakterystyczne, pojemne, bez techniki nie ma, a jest bardzo łatwe do sprawdzenia.

Używać skład, to mieć dostęp do pełnej mocy klasy, przeznaczone do manipulowania obiektem.

Robimy tak: Muszę przyznać, że to rozwiązanie jest bardziej kłopotliwe, niż wstawek, ale ona jest o wiele bardziej elastyczne i silne, i będzie w praktyce, oczywiście, łatwiej sprawdzić.

Do zaprezentowania mam inicjalizacji obiektów Wheels i Skrzydła w locie, ale w praktyce raczej zrobić tę pracę inicjacja w metodę initialize, która pozwoli mieć stałe obiekty i uniknąć problemów konkurencji. W praktyce, nie ma podstaw, by śledzić dokładną metodę, dlaczego używać skład, wstawek lub spadku wyłącznie, gdy można połączyć trzy. Trzeba umieć się przystosować i wykorzystać rozwiązanie, które będzie bardziej elastyczny.

Będzie można korzystać z dziedziczenia, gdy jest to konieczne, pamiętaj, deweloper-to człowiek".

Można przejść do wstawek, kiedy znajdujemy się w sytuacji deweloper, działa jako pracownika". Można zwrócić się prawdopodobnie do pisania oryginalnej, jeśli związek ten okazuje się, że to trudne, obiektu, który wymaga klasa poświęcony. Podsumowując treść tego artykułu, myślę, swoje zajęcia, aby były one jak najbardziej modułowym może nie strzelać sobie w głowę w oknie, gdy nie są w stanie wyprowadzić później należy wyznaczać obowiązki każdego z nich. Jeśli twoje testy są trudne do ustalenia, to często objaw problemy architektury, które trzeba umieścić chip w ucho.

Sisi, jest to możliwe.

Nie pozostawaj sam na sam.