Pytania otagowane jako architecture

Ogólny projekt i opis systemu oprogramowania. Projekt architektoniczny przedstawia szczegóły implementacji, algorytmów i reprezentacji danych, aby skoncentrować się na interakcji komponentów „czarnej skrzynki”.

2
Jak wdrożyłbyś wyszukiwarkę Google? [Zamknięte]
Załóżmy, że zapytano Cię w wywiadzie „Jak wdrożyłbyś wyszukiwarkę Google?” Jak odpowiedziałbyś na takie pytanie? Mogą istnieć zasoby, które wyjaśniają, w jaki sposób niektóre elementy w Google są implementowane (BigTable, MapReduce, PageRank, ...), ale to nie pasuje do wywiadu. Jakiej ogólnej architektury byś użył i jak wyjaśniłbyś to w 15-30 …

5
Czysta architektura: czy skrzynka zawiera prezentera lub zwraca dane?
Clean Architektura sugeruje niech przypadek użycia interaktora nazwać rzeczywistą realizację prezenter (który jest wtryskiwany w następstwie DIP), aby obsłużyć odpowiedzi / wyświetlacz. Widzę jednak osoby wdrażające tę architekturę, zwracające dane wyjściowe z interactor, a następnie pozwól kontrolerowi (w warstwie adaptera) zdecydować, jak sobie z tym poradzić. Czy drugie rozwiązanie wycieka …

6
Jaka jest rola wiodącego programisty w zwinnym zespole?
W nieagresywnym zespole programistycznym główny programista ogólnie : Ustawia standard (kodowanie i inne) Zespół bada nowe technologie Ustawia kierunek techniczny dla zespołu Ma ostatnie słowo w sprawach Projektuje architekturę systemu Jednak zwinny zespół działa inaczej: Zwinny zespół będzie polegał na nowatorskim designie, a nie z góry Zwinny zespół projektuje razem, …

7
Jak przestać projektować i zacząć projektować ten projekt zgodnie z sugestią mojego kierownika? [Zamknięte]
Jestem młodszym programistą (ok. 3 lata) i przy mojej pracy opracowujemy nowy system. Mój główny programista będzie głównym architektem, jednak rzucił mi wyzwanie, abym sam spróbował zaprojektować system (równolegle). W trakcie kilku iteracji pomysłów na burzę mózgów i proponowania tego, co widziałem jako sugestie dotyczące architektury, mój trop dał mi …

10
Zastosowanie zasady pojedynczej odpowiedzialności
Ostatnio natrafiłem na pozornie trywialny problem architektoniczny. Miałem proste repozytorium w moim kodzie, które zostało tak nazwane (kod jest w C #): var user = /* create user somehow */; _userRepository.Add(user); /* do some other stuff*/ _userRepository.SaveChanges(); SaveChanges był prostym opakowaniem, które zatwierdza zmiany w bazie danych: void SaveChanges() { …

4
REST - Kompromisy między negocjacjami treści za pośrednictwem nagłówka Akceptuj a rozszerzeniami
Pracuję nad zaprojektowaniem interfejsu API RESTful. Wiemy, że chcemy zwrócić JSON i XML dla dowolnego zasobu. Myślałem, że zrobimy coś takiego: GET /api/something?param1=value1 Accept: application/xml (or application/json) Jednak ktoś rzucił do tego celu rozszerzenia, na przykład: GET /api/something.xml?parm1=value1 (or /api/something.json?param1=value1) Jakie są kompromisy z tymi podejściami? Czy najlepiej jest polegać …


2
Jak radzisz sobie ze wspólnymi koncepcjami w architekturze mikrousług?
Badam wzorce architektoniczne dla opracowywanej przeze mnie aplikacji, a podejście oparte na mikrousługach wydaje się być dobrym wyborem, ale nie jestem pewien, jak poradzić sobie z interakcjami między usługami. Aplikacja zajmuje się przede wszystkim użytkownikami, profilami użytkowników, zdjęciami i tagami reprezentującymi jeden lub wiele profili na zdjęciu. Możliwe są metody …

17
Projektowanie oprogramowania: Zbuduj to szybko czy dobrze?
Budując nietrywialną aplikację, najlepiej skupić się na szybkim działaniu i na skrótach w kodzie, takich jak mieszanie logiki modelu z widokami, łamanie enkapsulacji - typowy zapach kodu? Lub, czy lepiej jest poświęcić czas na zbudowanie większej architektury, zbudować ją poprawnie, ale ryzykując, że cały ten dodatkowy kod może nie zostać …

2
Ile kosztuje za duże wstrzyknięcie zależności?
Pracuję w projekcie wykorzystującym (Spring) Dependency Injection do dosłownie wszystkiego, co jest zależnością klasy. Jesteśmy w punkcie, w którym plik konfiguracyjny Spring urósł do około 4000 linii. Niedawno obejrzałem jedną z przemówień wuja Boba na YouTube (niestety nie mogłem znaleźć linku), w których zaleca wstrzyknięcie tylko kilku głównych zależności (np. …

7
Jaki jest preferowany sposób przechowywania konfiguracji aplikacji?
W większości przypadków przechowuję konfigurację aplikacji programistycznych w katalogu głównym projektu, w następujący sposób: app |-- config.json Ale to nie wydaje się być najlepszym podejściem, ponieważ ta konfiguracja ostatecznie jest przechowywana w systemie kontroli wersji - prawdopodobnie skutkując wyciekiem nazw użytkowników, haseł i innych wrażliwych rzeczy. 12 Przewodnik po aplikacji …

11
Upewnij się, że każda klasa ma tylko jedną odpowiedzialność, dlaczego?
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ą, …

11
Czy abstrakcyjne klasy / metody są przestarzałe?
Kiedyś tworzyłem wiele abstrakcyjnych klas / metod. Potem zacząłem używać interfejsów. Teraz nie jestem pewien, czy interfejsy nie powodują, że klasy abstrakcyjne stają się przestarzałe. Potrzebujesz w pełni abstrakcyjnej klasy? Zamiast tego utwórz interfejs. Potrzebujesz abstrakcyjnej klasy z pewną implementacją? Utwórz interfejs, stwórz klasę. Dziedzicz klasę, zaimplementuj interfejs. Dodatkową korzyścią …

8
Czy są zapachy architektury?
W sieci jest mnóstwo zasobów odnoszących się do zapachów kodu i wyświetlających je na liście. Jednak nigdy nie widziałem informacji o zapachach architektonicznych . Czy jest to gdzieś zdefiniowane i czy jest dostępna lista? Czy przeprowadzono formalne badania defektów architektury i ich wpływu na szybkość projektu, defekty i tym podobne? …

6
Ponowne opracowanie projektu systemu dla Scali
Wiele, wiele księżyców temu, zrobiłem moich mistrzów w inżynierii oprogramowania obiektowego. Omówiłem wszystko: inicjację projektu, wymagania, analizy, projektowanie, architekturę, rozwój itp. Itp. Moją ulubioną książką informatyczną wszechczasów było tworzenie oprogramowania obiektowego, podejście oparte na doświadczeniu (IBM-1996). Książka stworzona przez grupę prawdziwych ekspertów swoich czasów. Opisuje podejście zorientowane na produkt pracy …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.