Inżynieria oprogramowania

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

3
Nigdy nie udostępniaj publicznie elementów wirtualnych / abstrakcyjnych - naprawdę?
W 2000 roku mój kolega powiedział mi, że to anty-wzorzec, aby publiczne metody były wirtualne lub abstrakcyjne. Na przykład uważał taką klasę za niezbyt dobrze zaprojektowaną: public abstract class PublicAbstractOrVirtual { public abstract void Method1(string argument); public virtual void Method2(string argument) { if (argument == null) throw new ArgumentNullException(nameof(argument)); // …

2
Obsługa współbieżności ES / CQRS
Niedawno zacząłem nurkować w CQRS / ES, ponieważ może być konieczne zastosowanie go w pracy. W naszym przypadku wydaje się to bardzo obiecujące, ponieważ rozwiązałoby wiele problemów. Naszkicowałem swoje przybliżone zrozumienie tego, jak aplikacja ES / CQRS powinna wyglądać w kontekście w uproszczonej bankowości (wypłata pieniędzy). Podsumowując, jeśli osoba A …

4
Czy należy stosować kody stanu HTTP do reprezentowania błędów logiki biznesowej na serwerze?
Jestem na rozdrożu z pewnym projektem interfejsu API dla klienta (JS w przeglądarce) do rozmowy z serwerem. Używamy konfliktu HTTP 409 do przedstawienia niepowodzenia działania z powodu blokady bezpieczeństwa. Blokada satefy zapobiega tworzeniu przypadkowych zmian w systemach produkcyjnych naszych klientów. Zadanie polegało na tym, aby obsługiwać 409 nieco bardziej wdzięcznie …
20 rest  api  web 

9
Czy metody init () pachną kodem?
Czy jest jakiś cel deklarowania init()metody dla typu? Nie pytam, czy powinniśmy preferować init()konstruktor, czy jak uniknąć deklarowaniainit() . Pytam, czy istnieje jakikolwiek uzasadnienie deklaracji init()metody (zobaczenie, jak często jest stosowana) lub czy jest to zapach kodu i należy tego unikać. Ten init()idiom jest dość powszechny, ale jeszcze nie widziałem …

3
Czy dobrą praktyką jest unikanie ostrzeżeń i powiadomień?
Zasadniczo pracuję z ostrzeżeniami i powiadomieniami PHP, ponieważ pracuję nad wieloma projektami, w których jest to już produkcja na żywo. Teraz, jeśli włączę ostrzeżenia i powiadomienia na tych stronach z produkcją na żywo, zostaną one przeciążone. W projektach, nad którymi pracuję w domu, na poziomie lokalnym, zwykle staram się usunąć …
20 php  warnings 


1
Zagnieżdżone adresy URL REST i identyfikator rodzica, który jest lepszy?
Ok, mamy dwa zasoby: Albumi Song. Oto API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId Wiemy, że nienawidzimy jakiejś piosenki Susy, na przykład nazywa się . Gdzie powinniśmy podjąć searchdziałania? Inne pytanie. Okej, teraz jest to bardziej realne. Otwieramy album 1 i ładujemy wszystkie piosenki. Tworzymy obiekty JS, każdy …

3
Niedopasowanie koncepcyjne między usługami aplikacji DDD a interfejsem API REST
Próbuję zaprojektować aplikację, która ma złożoną domenę biznesową i wymaga obsługi interfejsu API REST (nie tylko REST, ale zorientowana na zasoby). Mam problem z wynalezieniem modelu domeny w sposób zorientowany na zasoby. W DDD klienci modelu domeny muszą przejść przez warstwę procedur „Application Services”, aby uzyskać dostęp do dowolnej funkcji …

2
Czy ktoś może wyjaśnić reprezentację pływaka w pamięci?
To nie jest duplikat pytania, gdy czytam poprzednie pytanie. Czy ktoś może mi pomóc w zrozumieniu how float values are stored in the memory. Mam wątpliwości, czy tutaj wartości zmiennoprzecinkowe zawierają „ .'( for example 3.45) jak '.'będą reprezentowane w pamięci? Czy ktoś może mi wyjaśnić za pomocą diagramu?

7
Domyślny argument zmiennego języka Python: dlaczego?
Wiem, że domyślne argumenty są tworzone w czasie inicjalizacji funkcji, a nie za każdym razem, gdy funkcja jest wywoływana. Zobacz następujący kod: def ook (item, lst=[]): lst.append(item) print 'ook', lst def eek (item, lst=None): if lst is None: lst = [] lst.append(item) print 'eek', lst max = 3 for x …
20 python 

7
Różnica między wzorem a zasadą
Jaka jest różnica między wzorami projektowania obiektowego a zasadami? Czy to są różne rzeczy? O ile rozumiem, obaj starają się osiągnąć jakiś wspólny cel (np. Elastyczność). Czy mogę więc powiedzieć, że wzór jest zasadą i odwrotnie? Zasada projektu = SOLID (tj. Zasada inwersji zależności) Wzór projektowy = Gof (tj. Abstrakcyjny …

9
Ogólne techniki programowania w celu przyspieszenia czasu kodowania
Przygotowuję się do konkursu programistycznego, w którym musimy napisać kod w C ++, a wszystko polega na tworzeniu działającego kodu w krótkim czasie. Przykładem może być użycie makra w celu uzyskania minimum dwóch liczb wewnętrznych lub użycie zestawów pamięci do zainicjowania tablic (ale powiedziano mi, że nie należy używać tutaj …
20 c++ 


5
Wiele dzierżawców - jedna baza danych a wiele baz danych
Mamy wielu klientów, których systemy mają pewną funkcjonalność, ale mają też dość dużą różnorodność. Rośnie liczba klientów - zawsze zdrowa rzecz! - a różnorodność między ich firmami również rośnie. Obecnie istnieje jedna witryna sieci Web ASP.Net (formularze WWW) (w przeciwieństwie do projektu internetowego), która zawiera podfoldery dla każdego najemcy, wraz …

2
Problem ze zrozumieniem słowa „szew”
Czytam „Dependency Injection in .NET” Mark Seemann (jest fantastyczny i musi mieć), a autor często używa słowa „szew”. Ale nie rozumiem, co to znaczy. Oto przykład użycia tego słowa: Rozdział 7 wyjaśnia, jak komponować obiekty w różnych konkretnych ramach, takich jak ASP.NET MVC, WPF, WCF i tak dalej. Nie wszystkie …

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.