Czy projektowanie na podstawie umowy (DbC) może być sposobem na programowanie defensywne? Czy w niektórych przypadkach jeden sposób programowania jest lepszy od drugiego?
W Javascript istnieje kilka wyraźnie widocznych technik tworzenia i zarządzania klasami / przestrzeniami nazw w javascript. Jestem ciekawy, jakie sytuacje uzasadniają użycie jednej techniki w porównaniu do drugiej. Chcę wybrać jeden i trzymać się go z przodu. Piszę kod korporacyjny, który jest utrzymywany i współdzielony przez wiele zespołów, i chcę …
Pomagam zarządzać zewnętrznym zespołem, który zaczyna opracowywać nowe wersje niektórych istniejących produktów. Historycznie, ten zespół zawsze używał modelu jednego projektu w jednym rozwiązaniu dla około 30 modułów w Visual Studio, które razem tworzą jedną możliwą do wdrożenia wersję. Ma to szkodliwy wpływ na niezawodność i jakość kompilacji, ponieważ nie zawsze …
Pracuję nad projektem, który ma na celu stworzenie aplikacji internetowej, która będzie zarządzać listą zadań między wieloma użytkownikami. Jest to główna lista zadań, której elementy zadania są dystrybuowane przez autoryzowanego użytkownika. Każdy użytkownik ma swoje własne konto do logowania i przeglądania przypisanych mu zadań; możliwe jest, że wielu użytkowników ma …
To pytanie zostało przeniesione z Code Review Stack Exchange, ponieważ można na nie odpowiedzieć na Software Engineering Stack Exchange. Migrował 6 lat temu . Obecnie projektuję mój system Entity dla C ++ i mam wielu menedżerów. W moim projekcie mam te klasy, aby związać moją bibliotekę. Słyszałem wiele złych rzeczy, …
Jedną z zasad OOP, na które natrafiłem, jest: -Ekapsuluj, co się różni. Rozumiem, czym jest dosłowne znaczenie tego wyrażenia, tzn. Ukryj to, co się różni. Nie wiem jednak, jak dokładnie przyczyniłoby się to do lepszego projektu. Czy ktoś może to wyjaśnić na dobrym przykładzie?
Mam interfejs, który ma pewną liczbę dobrze zdefiniowanych funkcji. Powiedzmy: interface BakeryInterface { public function createCookies(); public function createIceCream(); } Działa to dobrze w przypadku większości implementacji interfejsu, ale w kilku przypadkach muszę dodać nową funkcjonalność (np. Być może wprowadzoną do nowej metody createBrownies()). Oczywistym / naiwnym podejściem do tego …
Próba zaprojektowania interfejsu API dla aplikacji zewnętrznych z prognozowaniem zmian nie jest łatwa, ale odrobina przemyślenia może ułatwić życie później. Próbuję ustanowić schemat, który będzie obsługiwał przyszłe zmiany, pozostając kompatybilnym wstecz, pozostawiając programy obsługi wcześniejszych wersji. Głównym problemem tego artykułu jest to, jaki wzór należy stosować dla wszystkich zdefiniowanych punktów …
W dzisiejszych czasach pojawiło się pytanie: Czy sposób, w jaki JavaScript jest sprzeczny z prawie wszystkim, co jest uważane za dobrą praktykę w tradycyjnym tworzeniu oprogramowania? Mam serię pytań / spostrzeżeń związanych z tym stwierdzeniem, ale aby uszanować format StackExchange, lepiej będzie, jeśli podzielę je na różne pytania. Moduł wymagający …
Czytam C # Design Pattern Essentials . Obecnie czytam o wzorze iteratora. W pełni rozumiem, jak wdrożyć, ale nie rozumiem znaczenia ani nie widzę przypadku użycia. W książce podano przykład, w którym ktoś musi uzyskać listę obiektów. Mogli to zrobić, ujawniając własność publiczną, taką jak IList<T>lub Array. Książka pisze Problem …
W niektórych moich kodach mam statyczną fabrykę podobną do tej: public class SomeFactory { // Static class private SomeFactory() {...} public static Foo createFoo() {...} public static Foo createFooerFoo() {...} } Podczas przeglądu kodu zaproponowano, aby był to singleton i został wstrzyknięty. Powinno to wyglądać tak: public class SomeFactory { …
Powiedzmy, że mam procedurę, która wykonuje różne czynności : void doStuff(initalParams) { ... } Teraz odkrywam, że „robienie rzeczy” to dość skomplikowana operacja. Procedura staje się duża, podzielę ją na wiele mniejszych procedur i wkrótce zdaję sobie sprawę, że posiadanie jakiegoś stanu byłoby przydatne podczas robienia rzeczy, więc muszę przekazywać …
Prosty sposób na zachowanie ustawień aplikacji Java jest reprezentowany przez plik tekstowy z rozszerzeniem „.properties” zawierający identyfikator każdego ustawienia powiązanego z określoną wartością (ta wartość może być liczbą, łańcuchem, datą itp.) . C # stosuje podobne podejście, ale plik tekstowy musi mieć nazwę „App.config”. W obu przypadkach w kodzie źródłowym …
Wiem, że podczas tworzenia aplikacji (natywnych lub internetowych), takich jak te w sklepie Apple AppStore lub Google Play, bardzo często stosuje się architekturę Model-View-Controller. Czy jednak rozsądne jest również tworzenie aplikacji przy użyciu architektury Component-Entity-System wspólnej w silnikach gier?
To pytanie zostało przeniesione z przepełnienia stosu, ponieważ można na nie odpowiedzieć w programie Software Engineering Stack Exchange. Migrował 8 lat temu . W ogóle nie rozumiem wzorca projektowego „pomostowego”. Przeglądałem różne strony internetowe, ale one nie pomogły. Czy ktoś może mi pomóc w zrozumieniu tego?
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.