To będzie bardzo nietechniczne, miękkie pytanie i nie jestem pewien, czy to właściwa platforma. Ale jestem początkującym studentem CS, więc mam nadzieję, że to tolerujecie. W pierwszym semestrze zapoznaliśmy się z pojęciami OOP, takimi jak enkapsulacja, ukrywanie danych, modułowość, dziedziczenie itd. Za pośrednictwem Java i UML. (Java to mój pierwszy …
Od czasu do czasu widziałem praktykę, która „czuje” się źle, ale nie jestem w stanie dokładnie wyartykułować, co jest w tym złego. A może to tylko moje uprzedzenia. Tutaj idzie: Deweloper definiuje metodę z wartością logiczną jako jeden z jej parametrów, która wywołuje inną, i tak dalej, i ostatecznie ta …
Odkąd po raz pierwszy dowiedziałem się o wzorach projektowych Gang of Four (GoF) , co najmniej 10 lat temu, mam wrażenie, że te 23 wzory powinny być tylko małą próbką czegoś znacznie większego, co lubię nazywać Przestrzenią Wzorów . Ta hipotetyczna przestrzeń wzorów składa się ze wszystkich godnych polecenia rozwiązań …
Szukam rekomendacji tutaj. Mam problem z tym, czy lepiej zwrócić NULL, czy pustą wartość z metody, gdy zwracana wartość nie jest obecna lub nie można jej ustalić. Jako przykład weź następujące dwie metody: string ReverseString(string stringToReverse) // takes a string and reverses it. Person FindPerson(int personID) // finds a Person …
Powiedzmy, że mamy listę encji Zadania i ProjectTaskpodtyp. Zadania można zamknąć w dowolnym momencie, z wyjątkiem tych, ProjectTasksktórych nie można zamknąć, gdy mają status Uruchomione. Interfejs użytkownika powinien upewnić się, że opcja zamknięcia uruchomionego ProjectTasknigdy nie jest dostępna, ale w domenie istnieją pewne zabezpieczenia: public class Task { public Status …
Zajmuję się tworzeniem stron internetowych od 2009 roku, kiedy zacząłem od PHP. Kiedy przeniosłem się do ASP.NET, dużo słyszałem o DDD i OOAD, gdzie wiele uwagi poświęcono tej „logice biznesowej” i „regułom biznesowym”. Chodzi o to, że wszystkie aplikacje, które do tej pory tworzyłem, dotyczyły operacji CRUD i nigdy nie …
Notka moderatora Na to pytanie wysłano już siedemnaście odpowiedzi . Zanim opublikujesz nową odpowiedź, przeczytaj istniejące odpowiedzi i upewnij się, że Twój punkt widzenia nie jest odpowiednio uwzględniony. Postępuję zgodnie z niektórymi praktykami zalecanymi w książce Roberta Martina „Czysty kod”, szczególnie te, które dotyczą tego rodzaju oprogramowania, z którym pracuję, …
Jeśli kwadrat jest rodzajem prostokąta, to dlaczego kwadrat nie może odziedziczyć po prostokącie? Lub dlaczego jest to zły projekt? Słyszałem, jak ludzie mówią: Jeśli sprawiłeś, że Kwadrat pochodzi z prostokąta, kwadrat powinien być użyteczny wszędzie tam, gdzie oczekujesz prostokąta Jaki jest tutaj problem? I dlaczego Square miałby być użyteczny wszędzie …
Trudno mi znaleźć zasoby na temat tego, dlaczego powinienem używać zastrzyku zależności . Większość zasobów, które widzę, wyjaśnia, że po prostu przekazuje instancję obiektu do innej instancji obiektu, ale dlaczego? Czy to tylko dla czystszej architektury / kodu czy wpływa to na wydajność jako całość? Dlaczego powinienem wykonać następujące czynności? …
W debacie na temat modeli domen Rich vs. Anemic Internet jest pełen porad filozoficznych, ale brakuje autorytatywnych przykładów. Celem tego pytania jest znalezienie ostatecznych wytycznych i konkretnych przykładów prawidłowych modeli projektowania opartych na domenie. (Idealnie w C #.) Na przykład w rzeczywistości ta implementacja DDD wydaje się nieprawidłowa: Poniższe modele …
Stroustrup mówi: „Nie od razu wymyśl wyjątkową bazę dla wszystkich swoich klas (klasę Object). Zazwyczaj możesz zrobić to lepiej bez wielu / większości klas”. (Czwarta edycja języka programowania C ++, Sec 1.3.4) Dlaczego generalnie klasa podstawowa jest na ogół złym pomysłem i kiedy warto go stworzyć?
Programuję od kilku lat i ogólnie jestem dobry, jeśli chodzi o rozwiązywanie problemów i tworzenie małych i średnich skryptów, jednak ogólnie nie jestem dobry w projektowaniu dużych programów w sposób obiektowy. Kilka pytań Ostatnio kolega z taką samą liczbą lat doświadczenia jak ja i ja pracowaliśmy nad problemem. Pracowałem nad …
Niedawno zacząłem pracować w miejscu z kilkoma znacznie starszymi programistami (około 50+). Pracowali nad krytycznymi aplikacjami dotyczącymi lotnictwa, w których system nie mógł ulec awarii. W rezultacie starszy programista ma tendencję do kodowania w ten sposób. Zwykle umieszcza w obiektach wartość logiczną, aby wskazać, czy wyjątek powinien zostać zgłoszony, czy …
Przykład użyty w pytaniu przekazuje absolutną minimalną ilość danych do funkcji, która dotyczy najlepszego sposobu ustalenia, czy użytkownik jest administratorem, czy nie. Jedną z powszechnych odpowiedzi było: user.isAdmin() To skłoniło do komentarza, który został kilkakrotnie powtórzony i wielokrotnie głosowany: Użytkownik nie powinien decydować, czy jest administratorem, czy nie. System uprawnień …
Obecnie pracuję nad projektem oprogramowania, który wykonuje kompresję i indeksowanie nagrań z monitoringu wideo. Kompresja polega na dzieleniu obiektów tła i pierwszego planu, a następnie zapisywaniu tła jako obrazu statycznego, a pierwszego planu jako duszka. Niedawno rozpocząłem przegląd niektórych klas, które zaprojektowałem dla tego projektu. Zauważyłem, że istnieje wiele klas, …
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.