Mam następujący kod: public void moveCameraTo(Location location){ moveCameraTo(location.getLatitude(), location.getLongitude()); } public void moveCameraTo(double latitude, double longitude){ LatLng latLng = new LatLng(latitude, longitude); moveCameraTo(latLng); } public void moveCameraTo(LatLng latLng){ GoogleMap googleMap = getGoogleMap(); cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, INITIAL_MAP_ZOOM_LEVEL); googleMap.moveCamera(cameraUpdate); } Myślę, że w ten sposób eliminuję na przykład odpowiedzialność za to, co …
Za każdym razem, gdy ktoś do mnie dociera i prosi, abym w sposób koncepcyjny zdefiniował wtrysk zależności i wyjaśnił prawdziwe zalety i wady używania DI w projektowaniu oprogramowania. Przyznaję, że mam trudności z wyjaśnieniem koncepcji DI. Za każdym razem muszę im opowiedzieć historię o zasadzie pojedynczej odpowiedzialności, składzie nad spadkiem …
Słyszałem, jak fraza jest rzucana na ziemię i dla mnie argumenty brzmią całkowicie szalone (przepraszam, jeśli mam tu słomkę, to nie moja intencja), ogólnie rzecz biorąc idzie coś w stylu: Nie chcesz tworzyć abstrakcji, zanim dowiesz się, jaki jest ogólny przypadek, w przeciwnym razie (1) możesz umieszczać w swoich abstrakcjach …
Chciałbym stworzyć system, który obsługuje wiadomości alarmowe z różnych programów i może przetwarzać te alarmy do mniej wymagających klientów za pośrednictwem poczty elektronicznej. Wszystko to byłoby zawarte w jednej sieci wewnętrznej. Myślę, że chcę, aby podstawowa architektura wyglądała mniej więcej tak: Główny problem, który mam obecnie, to bit „modułu obsługi …
Przeczytałem kilka artykułów, artykułów i sekcji 4.1.4, rozdział 4 kompilatorów: Zasady, techniki i narzędzia (2. wydanie) (aka „The Dragon Book”), które wszystkie omawiają temat odzyskiwania błędów kompilatora składniowego. Jednak po eksperymentach z kilkoma nowoczesnymi kompilatorami zauważyłem, że odzyskują one również po błędach semantycznych , a także błędach składniowych. Rozumiem dość …
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 …
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 …
Wprowadzenie Wiele głównych silników renderujących grafikę wektorową ma wadę algorytmiczną. Renderują każdy kształt osobno i antyializę, obliczając pokrycie pikseli, a następnie układają je jeden na drugim. Tak, to proste, ale prawidłowe rozwiązania są jeszcze prostsze. Prowadzi to do problemów związanych z pomieszaniem, ponieważ ogranicza zakres pokrycia przez przejrzystość. Mieszanie alfa …
tło Pracuję nad aplikacją dla klienta, która zawiera niektóre funkcje sieci społecznościowych. Początkowo opracowywałem mobilny front-end, ale okoliczności sprawiły, że jestem odpowiedzialny za rozwój back-endu. Jako ogólny kontekst, nasz system pozwala użytkownikom śledzić innych użytkowników i otrzymywać powiadomienia o tych, których obserwują, jak można oczekiwać od sieci społecznościowej. Zastrzeżenie polega …
Myślę, że można bezpiecznie powiedzieć, że większość aplikacji internetowych opiera się na paradygmacie żądanie / odpowiedź. PHP nigdy nie miało formalnej abstrakcji tych obiektów. Jedna grupa próbuje to zmienić: https://github.com/php-fig/fig-standards/blob/master/proposed/http-message.md W pewnym sensie udało im się jednak śledzić kwestię niezmienności. Z jednej strony obiekt zapytania / odpowiedzi zazwyczaj wymaga bardzo …
Rozważ następujące: def some_function(): return 1 def some_generator(): yield 1 W powyższym kodzie some_functionjest funkcja, podczas gdy some_generatorjest generatorem. Wyglądają dość podobnie. Problem, który mam podczas odczytywania kodu, polega na tym, że muszę skanować każdą linię w „funkcji” w poszukiwaniu yieldsłowa kluczowego, zanim będę mógł ustalić, czy jest to faktycznie …
Tło: Projektuję aplikację serwera i tworzę osobne biblioteki DLL dla różnych podsystemów. Dla uproszczenia załóżmy, że mam dwa podsystemy: 1) Users2)Projects Publiczny interfejs użytkownika ma metodę taką jak: IEnumerable<User> GetUser(int id); A publiczny interfejs projektów ma metodę taką jak: IEnumerable<User> GetProjectUsers(int projectId); Na przykład, kiedy musimy wyświetlić użytkowników dla określonego …
Mam kilka metod, które wykonują pewne zmiany danych w bazie danych (wstawianie, aktualizowanie i usuwanie). ORM używam powrót wiersz dotknięte wartości int dla tych rodzaju metody. Co powinienem zwrócić po „mojej metodzie”, aby wskazać stan powodzenia / niepowodzenia operacji? Rozważ kod, który zwraca int: A.1 public int myLowerLevelMethod(int id) { …
Główny problem Widząc dobre wsparcie większość nowoczesnych platform programowania ma do zarządzania pakietami (myślę gem, npm, pipitp), to ma sens, aby zaprojektować aplikację lub system składający się z wewnętrznie opracowanych pakietów, tak aby promować i tworzyć luźno architekturę? Przykład Przykładem może być tworzenie pakietów dostępu do bazy danych, a także …
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 4 lata temu . W ciągu ostatnich dwóch tygodni pracowałem z kilkoma podstawowymi koncepcjami programowania ekstremalnego w małej grze …
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.