Wspólny wzorzec lokalizowania błędu wynika z tego skryptu: Obserwuj dziwność, na przykład brak wyjścia lub zawieszający się program. Znajdź odpowiedni komunikat w wynikach dziennika lub programu, na przykład „Nie można znaleźć Foo”. (Poniższe informacje mają znaczenie tylko wtedy, gdy jest to ścieżka podana w celu zlokalizowania błędu. Jeśli ślad stosu …
Pytanie Gdzie powinienem umieścić funkcje niezwiązane z klasą wywołało debatę na temat tego, czy w C ++ sens ma łączenie funkcji narzędziowych w klasie, czy po prostu ich istnienie jako wolnych funkcji w przestrzeni nazw. Pochodzę z tła w języku C #, gdzie ta ostatnia opcja nie istnieje, a zatem …
Jaka jest różnica między idiomem a wzorcem projektowym? Wydaje się, że te terminologie gdzieś się pokrywają; gdzie dokładnie nie wiem. Czy są wymienne? Kiedy powinienem użyć czego? Oto lista idiomów C ++. Czy mogę nazwać je wzorami projektowymi? Wikipedia określa, Programowanie idiomu jako wzorca projektowego niskiego poziomu Co to znaczy? …
Czasami mamy logikę biznesową reprezentowaną w kodzie kontrolera naszych aplikacji. Jest to zwykle logika, która odróżnia metody do wywołania od modelu i / lub argumenty, które należy przekazać. Innym przykładem tego jest zestaw funkcji narzędziowych istniejących w kontrolerze, które mogą pracować w celu sformatowania lub odkażenia danych zwróconych z modelu, …
Nadal szukam sprawdzonych metod sprawdzania poprawności modelu domeny. Czy dobrze jest umieścić walidację w konstruktorze modelu domeny? mój przykład sprawdzania poprawności modelu domeny w następujący sposób: public class Order { private readonly List<OrderLine> _lineItems; public virtual Customer Customer { get; private set; } public virtual DateTime OrderDate { get; private …
Rozmawiałem ze współpracownikiem i skończyły się sprzeczne intuicje na temat celu podklasy. Moją intuicją jest to, że jeśli podstawową funkcją podklasy jest wyrażenie ograniczonego zakresu możliwych wartości jej elementu nadrzędnego, prawdopodobnie nie powinna to być podklasa. Argumentował za odwrotną intuicją: ta podklasa reprezentuje bardziej „specyficzny” obiekt, a zatem relacja podklasy …
Czy istnieje jakiś wzorzec projektowy dla dowolnego programu obiektowego? Pytam o to, ponieważ ostatnio widziałem implementację Doorklasy z Lock. Było to częścią testu, a odpowiedź brzmiała, że kod jest zgodny ze wzorcem Null Object: class Lock { public: virtual void close() = 0; virtual void open() = 0; virtual bool …
Zgodnie z dokumentacją Microsoft, artykułem Wikipedia SOLID lub większością architektów IT musimy upewnić się, że każda klasa ma tylko jedną odpowiedzialność. Chciałbym wiedzieć, dlaczego, ponieważ jeśli wszyscy wydają się zgadzać z tą zasadą, nikt nie wydaje się zgadzać co do przyczyn tej reguły. Niektórzy wskazują na lepszą konserwację, inni twierdzą, …
Dlaczego wzorzec wstrzykiwania zależności nie został uwzględniony w grupie czterech osób ? Czy wcześniejsze, szeroko rozpowszechnione automatyczne testy GOF? Czy wstrzykiwanie zależności jest obecnie uważane za podstawowy wzór?
Rozumiem rolę modelu i widoku we wzorcu Model-Widok-Kontroler, ale trudno mi zrozumieć, dlaczego kontroler jest potrzebny. Załóżmy, że tworzymy program szachowy wykorzystujący podejście MVC; stan gry powinien być modelem, a GUI powinien być widokiem. Czym dokładnie jest kontroler w tym przypadku? Czy to tylko osobna klasa, która ma wszystkie funkcje, …
Typowy wzorzec, który widzę, to tak zwany Mapperwzorzec (którego nie należy mylić z DataMapperczymś zupełnie innym), który jako argument przyjmuje pewne „surowe” źródło danych (np. ADO.NET DataReaderlub DataSet) i mapuje pola na właściwości obiektu biznesowego / domeny. Przykład: class PersonMapper { public Person Map(DataSet ds) { Person p = new …
Kiedy rozpoczynam nowy projekt, często od razu zaczynam myśleć o szczegółach wdrożenia. „Gdzie mam umieścić DataBaseHandler? Jak powinienem go używać? Czy klasy, które chcą go używać, powinny pochodzić z jakiejś superklasy abstrakcyjnej ..? metody wysyłania żądań i analizowania danych? ” Skończyło się na zwlekaniu przez długi czas, ponieważ chcę kodować …
Mam problem z implementacją wzorca MVC na iOS. Przeszukałem Internet, ale wydaje się, że nie znalazłem żadnego fajnego rozwiązania tego problemu. Wiele UITableViewControllerwdrożeń wydaje się być dość dużych. Większość przykładów, które widziałem, pozwala na UITableViewControllerwdrożenie <UITableViewDelegate>i <UITableViewDataSource>. Te wdrożenia są dużym powodem, dla którego UITableViewControllerrobi się duże. Jednym rozwiązaniem byłoby …
Kiedy koncepcje programowania obiektowego zostały wprowadzone do programistów wiele lat temu, wygląda to interesująco, a programowanie jest czystsze. OOP był taki Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); Łatwiej było to zrozumieć dzięki samoopisowej nazwie. Ale teraz OOP, ze wzorcem takim jak obiekty transferu danych, obiekty wartości, repozytorium, wstrzykiwanie zależności …
Ponieważ JavaScript wydaje się być wszechobecnym językiem programowania w Internecie w ciągu najbliższych kilku lat, nowe frameworki pojawiają się co pięć minut, a programowanie oparte na zdarzeniach zajmuje wiodącą rolę zarówno po stronie serwera, jak i klienta: Czy jako programista Javascript uważasz, że tradycyjne wzorce projektowe są ważne lub mniej …
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.