Wiele lat temu rozmawiałem z profesorem ekonomii o wzorcach projektowych, o tym, jak ustanawiają wspólny język dla programistów i jak ładnie rozwiązują dobrze znane problemy itp. Itp. Potem odpowiedział mi, że jest to dokładnie odwrotne podejście, którego użyłby wobec swoich studentów ekonomii. Zazwyczaj przedstawiał problem i prosił go, aby najpierw …
Pracuję nad projektem, który przetwarza żądania, i są dwa elementy żądania: polecenie i parametry. Obsługa każdego polecenia jest bardzo prosta (<10 linii, często <5). Jest co najmniej 20 poleceń i prawdopodobnie będzie ich więcej niż 50. Wymyśliłem kilka rozwiązań: jeden duży przełącznik / if-else na komendach mapa poleceń do funkcji …
W mojej obecnej pracy kilkakrotnie miałem za zadanie wyczyścić stary kod. Często kod jest labiryntem, a dane za nim jeszcze bardziej splątane. Łączę rzeczy w ładne, schludne, modułowe metody. Każda metoda robi jedną rzecz i robi to dobrze. Wtedy rzeczy zaczynają iść na południe ... Niezmiennie kończę na czystym API …
Nie używam często wzorców projektowych, oprócz okazjonalnej fabryki i MVC, i chcę zacząć z nich korzystać częściej. Mam pod ręką konkretny przypadek, w którym chciałbym poznać Twoją opinię na temat wykorzystania wzorów projektowych w tym przypadku. W mojej aplikacji muszę często konwertować obiekty w różnych sytuacjach. Być może będę musiał …
Jestem całkiem nowy w naszym zespole deweloperów. Potrzebuję silnych argumentów i / lub przykładów „pułapek”, aby mój szef w końcu zrozumiał zalety dyskretnego JavaScript, dzięki czemu on i reszta zespołu przestaną robić takie rzeczy: <input type="button" class="bow-chicka-wow-wow" onclick="send_some_ajax(); return false;" value="click me..." /> i <script type="text/javascript"> function send_some_ajax() { // …
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 7 lat temu . Nasz model danych ma prawie 200 klas, które można podzielić na kilkanaście obszarów funkcjonalnych. Byłoby miło używać domen, ale separacja nie jest tak czysta i nie możemy …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Wygląda na to, że asynchroniczne programowanie oparte na zdarzeniach nieblokujących jest modne. Mam podstawową konceptualną wiedzę na temat tego, …
Często używam wzorca, w którym używam łączenia łańcuchowego do ustawiania obiektu, podobnego do wzoru Builderlub Prototype, ale nie tworzę nowych obiektów przy każdym wywołaniu metody, zamiast tego modyfikując oryginalny obiekt. Przykład: new Menu().withItem("Eggs").withItem("Hash Browns").withStyle("Diner"); Zastanawiam się tylko, czy istnieje nazwa tego wzorca i czy jest on uważany za anty-wzorzec, ponieważ …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 2 lata temu . Studiowałem wzorce projektowe i natrafiłem na wzór ciężaru muchy. Próbowałem dostrzec możliwości użycia wzorca w …
Mam listę produktów. Każdy z nich jest oferowany przez N dostawców. Każdy dostawca podaje nam cenę na określony termin. Cena ta obowiązuje, dopóki dostawca nie zdecyduje się ustalić nowej ceny. W takim przypadku dostawca poda nową cenę z nową datą. Nagłówek tabeli MySQL wygląda obecnie tak: provider_id, product_id, price, date_price_effective …
Nie widzę wyraźnie różnicy między MVC i MVVM. Wydaje mi się, że polecenie w ViewModel jest jak metoda akcji w kontrolerze. Zarówno kontroler, jak i ViewModel powiadomią widok, aby odświeżył się po zmodyfikowaniu stanu modelu poprzez powiązanie danych. Jaka jest główna różnica między tymi dwoma wzorami?
Dobrze wiadomo, że jeśli twoja klasa ma konstruktor z wieloma parametrami, powiedzmy więcej niż 4, to najprawdopodobniej jest to zapach kodu . Musisz ponownie rozważyć, czy klasa spełnia SRP . Ale co, jeśli zbudujemy i obiekt, który zależy od 10 lub więcej parametrów, a ostatecznie zakończy się ustawieniem wszystkich tych …
Niedawno usunąłem moją odpowiedź Java w Code Review , która zaczęła się tak: private Person(PersonBuilder builder) { Zatrzymać. Czerwona flaga. Osoba budująca osobę zbuduje osobę; wie o Osobie. Klasa Person nie powinna wiedzieć nic o PersonBuilder - to tylko niezmienny typ. Utworzyłeś tutaj sprzęgło kołowe, w którym A zależy od …
Czy podczas używania języka, który obsługuje argumenty nazwane i opcjonalne, wzorzec konstruktora nie ma już praktycznego zastosowania? Budowniczy: new Builder(requiredA, requiredB).setOptionalA("optional").Build(); Argumenty opcjonalne / nazwane: new Object(requiredA, requiredB, optionalA: "optional");
Istnieje wiele powodów, dla których globale są złe w OOP. Jeśli liczba lub rozmiar obiektów wymagających współdzielenia jest zbyt duża, aby można je było efektywnie przekazać w parametrach funkcji, zwykle wszyscy zalecają Wstrzykiwanie zależności zamiast obiektu globalnego. Jednak w przypadku, gdy prawie wszyscy muszą wiedzieć o pewnej strukturze danych, dlaczego …
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.