Inżynieria oprogramowania

Pytania i odpowiedzi dla profesjonalistów, nauczycieli akademickich i studentów pracujących w cyklu życia systemów

4
Wzorzec projektowy dla zachowania polimorficznego, umożliwiając jednocześnie rozdzielanie bibliotek
Powiedzmy mam hierarchię Itemklas: Rectangle, Circle, Triangle. Chcę móc je narysować, więc moją pierwszą możliwością jest dodanie wirtualnej Draw()metody do każdej z nich: class Item { public: virtual ~Item(); virtual void Draw() =0; }; Chcę jednak podzielić funkcję rysowania na osobną bibliotekę Draw, podczas gdy biblioteka Core zawiera tylko podstawowe …


3
Ogólne i usuwanie typów
Ogólne w Javie są implementowane za pomocą usuwania typu. JLS twierdzi, że inspiracją była kompatybilność wsteczna. Gdzie, jak z drugiej strony, generyczne C # są możliwe do ponownego zdefiniowania. Teoretycznie jakie są zalety i wady wynikające z tego, że Generics jest „usuwany” lub „możliwy do powtórzenia”? Czy czegoś brakuje Java?

4
W jaki sposób profesjonalni twórcy aplikacji korzystają z systemów kontroli wersji, takich jak GIT i Subversion?
Jestem początkującym programistą i od samego początku zastanawiałem się, w jaki sposób profesjonalne narzędzia, takie jak GIT i Subversion (nie bardzo dobrze rozumiem tych narzędzi), spełniają potrzeby ich projektu. Jeśli z niego skorzystają, jak mam coś takiego ustawić? Moje aplikacje nie są tak duże i nie pracuję jeszcze w zespole, …

1
Node.js czy serwlety? [Zamknięte]
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 . Dużo słyszałem i czytałem o języku po stronie serwera Javascript, tj. Node.js, i widziałem wiele …

3
Jak długo programista może się skoncentrować w ciągu jednego dnia? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

3
Jak powinienem obudować dostęp do bazy danych?
Jakie są przykłady dobrych struktur klasy używanych do zarządzania dostępem do bazy danych? Jestem fanem enkapsulacji klas i wolałbym, aby kontenery (np. Samochód) nie wykonywały zadań bazy danych. Chciałbym również mieć możliwość łatwego upuszczania rzeczy takich jak pamięć podręczna bazy danych w przyszłości. Często biorę wzorzec klas kontenerów, wraz z …
10 c++  database 


2
Czy mam buforować dane, czy trafić do bazy danych?
Nie pracowałem z żadnymi mechanizmami buforowania i zastanawiałem się, jakie są moje opcje w świecie .net w następującym scenariuszu. Zasadniczo mamy usługę REST, w której użytkownik przekazuje identyfikator kategorii (think folder), a ta kategoria może mieć wiele podkategorii, a każda z podkategorii może mieć 1000 kontenerów multimediów (obiekty referencyjne plików …

2
Jaki jest algorytm wygasania przedmiotów w pamięci kluczy?
Myślałem o tym, w jaki sposób obecne magazyny klucz-wartość wdrażają „datę ważności” artykułów. Obecnie mam na myśli 2 warianty: nic nie robią (przechowują wygasłe dane) i sprawdzają tylko wtedy, gdy robisz, na przykład GET przez jakiś klucz. Problem polega na tym, że jeśli masz ograniczoną pamięć, wygasłe elementy nie zostaną …

8
Dlaczego większość ofert pracy jest przeznaczona dla programistów <tutaj dla języka>, a nie dla programistów w ogóle? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

5
OOP: W jakich sytuacjach projekt oparty na klasie jest lepszy niż projekt oparty na interfejsie?
Czytałem stronę internetową JDOM . Dlaczego interfejs API JDOM jest definiowany w kategoriach konkretnych klas, a nie interfejsów? Jason Hunter podsumowuje argumenty przeciwko interfejsowi API opartemu na interfejsie JDOM: Dzięki interfejsom wszystko staje się fabryką, elementy muszą być „importowane” do nowych dokumentów, a nie tylko dodawane, nie można zagwarantować takich …

6
Jeśli korzystam z blokad, czy mój algorytm może nadal być bez blokady?
Powszechną definicją bez blokady jest to, że co najmniej jeden proces robi postęp. 1 Jeśli mam prostą strukturę danych, taką jak kolejka, chronioną przez blokadę, wtedy jeden proces może zawsze robić postęp, ponieważ jeden proces może uzyskać blokadę, zrobić to, co chce i zwolnić. Czy spełnia zatem definicję bez blokady? …

3
Czy JavaScript wykroczył poza to, do czego został pierwotnie zaprojektowany?
Rozmawiałem z przyjacielem o celu Javascript, kiedy i jak należy go używać itp. Cytuje: JavaScript został zaprojektowany w celu dodania interaktywności do stron HTML [...] JavaScript daje projektantom HTML narzędzie programistyczne Autorzy HTML zwykle nie są programistami, ale JavaScript jest językiem skryptowym o bardzo prostej składni! Niemal każdy może umieścić …
10 javascript 


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.