Krótki format pytania Czy w ramach najlepszych praktyk DDD i OOP jest wstrzykiwanie usług do wywołań metod encji? Przykład długiego formatu Załóżmy, że mamy w DDD klasyczny przypadek Line-LineItems, w którym mamy Encję Domenową o nazwie Zamówienie, która działa również jako Korzeń Agregacji, a Encja składa się nie tylko z …
Widziałem, jak Raymond Hettinger Pycon mówi „Super uważany za super” i dowiedziałem się trochę o MRO Pythona (Order Resolution Order), który deterministycznie interpretuje klasy „nadrzędne”. Możemy to wykorzystać na naszą korzyść, tak jak w poniższym kodzie, aby wykonać wstrzyknięcie zależności. Więc teraz oczywiście chcę używać superdo wszystkiego! W poniższym przykładzie …
W Alan Kays Definition Object Oriented znajduje się definicja, której częściowo nie rozumiem: OOP oznacza dla mnie tylko wysyłanie wiadomości, lokalne przechowywanie, ochronę i ukrywanie procesów państwowych oraz ekstremalne późne wiązanie wszystkich rzeczy. Ale co oznacza „LateBinding”? Jak mogę to zastosować w języku takim jak C #? I dlaczego to …
Po prostu jakich praktycznych technik używają ludzie, aby sprawdzić, czy klasa narusza zasadę pojedynczej odpowiedzialności? Wiem, że klasa powinna mieć tylko jeden powód do zmiany, ale w tym zdaniu brakuje praktycznego sposobu, aby to naprawdę wdrożyć. Jedynym sposobem, jaki znalazłem, jest użycie zdania „The ......... powinien ......... sam w sobie”. …
Po pierwsze, wiem, że to pytanie wiąże się z tematem tworzenia gier, ale postanowiłem zadać je tutaj, ponieważ naprawdę sprowadza się ono do bardziej ogólnego problemu związanego z tworzeniem oprogramowania. W ciągu ostatniego miesiąca dużo czytałem o systemach Entity-Component-Systems i teraz czuję się swobodnie z tą koncepcją. Jednak w jednym …
Na przykład klasa zwykle ma członków klasy i metody, np .: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Ale po przeczytaniu na temat zasady pojedynczej odpowiedzialności i zasady otwartej …
Pisanie obiektu użytkownika w Swift, choć moje pytanie dotyczy dowolnego silnie napisanego języka. Użytkownik może mieć kilka linków (FacebookProfile, InstagramProfile itp.). Kilka pytań wokół tego. Czy dobrą praktyką jest zawijanie łączy we własnym obiekcie? struct Użytkownik { var firstName: string var lastName: string var email: string var links: Linki } …
Prawdopodobnie tak jak wielu, często napotykam bóle głowy z problemami projektowymi, w których na przykład istnieje pewien wzór / podejście projektowe, które wydaje się intuicyjnie pasować do problemu i przynosi pożądane korzyści. Bardzo często występuje pewne zastrzeżenie, które utrudnia wdrożenie wzorca / podejścia bez jakiejś pracy, która następnie neguje korzyści …
Ponieważ zasada segregacji interfejsów sugeruje, że żaden klient nie powinien być zmuszany do polegania na metodach, których nie używa, więc klient nie powinien implementować pustej metody dla swoich metod interfejsu, w przeciwnym razie ta metoda interfejsu powinna zostać umieszczona w innym interfejsie. A co z konkretnymi metodami? Czy powinienem oddzielić …
Ilekroć musiałem zbudować projekt, zawsze udało mi się go zbudować, nie wcześniej opracowując plan lub projekt, ale po napisaniu potrzebnej klasy, opracowując cały projekt, budując od podstaw. Teraz wiem, że nie jest to właściwy sposób tworzenia oprogramowania, ale nie jest mi łatwo owinąć głowę tym, co nazywa się analizą i …
Jestem nowy w programowaniu obiektowym i nie rozumiem, jaki jest cel głównego. Tak, czytam, że jest to „punkt wejścia” programu, ale nie rozumiem, co powinno być w głównym? A jakie są jego obowiązki? Może się zdarzyć, że coś napisanego w main może być enkapsulowane w innym obiekcie, ale ile powinieneś …
Wyobraźmy sobie sytuację, w której korzystamy z biblioteki, która pozwala tworzyć Circleobiekty, w których można określić promień i środek okręgu, aby je zdefiniować. Jednak z jakiegoś powodu wymaga również wymaganego flavourparametru. Powiedzmy teraz, że naprawdę muszę korzystać Circlez własnej aplikacji, ale na potrzeby mojej aplikacji mogę ustawić smak za Flavours.Cardboardkażdym …
tło Mam projekt, który zależy od użycia określonego rodzaju urządzenia sprzętowego, podczas gdy tak naprawdę nie ma znaczenia, kto je tworzy, o ile robi to, czego potrzebuję. Biorąc to pod uwagę, nawet dwa urządzenia, które powinny robić to samo, będą się różnić, jeśli nie zostaną wyprodukowane przez tego samego producenta. …
Mam dwie podstawowe klasy Operationi Trigger. Każda z nich ma wiele podklas, które specjalizują się w określonych rodzajach operacji lub wyzwalaczy. A Triggermoże wyzwolić określony Operation. Chociaż Operationmoże być wyzwalany przez określony Trigger. Muszę napisać kod, który odwzorowuje dane Operationdane Trigger(lub odwrotnie), ale nie jestem pewien, gdzie je umieścić. W …
Biorąc pod uwagę, że Python pozwala na wielokrotne dziedziczenie, jak wygląda dziedziczenie idiomatyczne w Pythonie? W językach z pojedynczym dziedziczeniem, takich jak Java, dziedziczenie byłoby stosowane, gdy można by powiedzieć, że jeden obiekt „jest-a” innego obiektu i chcesz współdzielić kod między obiektami (od obiektu nadrzędnego do obiektu podrzędnego). Na przykład …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.