Pytania otagowane jako object-oriented-design

Projektowanie obiektowe to proces planowania systemu interakcji obiektów w celu rozwiązania problemu z oprogramowaniem.




17
Czy lepiej jest zwracać NULL lub puste wartości z funkcji / metod, w których zwracana wartość nie jest obecna?
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 …

10
Czy jest to naruszenie zasady substytucji Liskowa?
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 …

6
Czym tak naprawdę jest „logika biznesowa”?
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 …

13
Jak usprawiedliwić pisanie więcej kodu, stosując praktyki czystego kodu?
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ę, …

12
Dlaczego dziedziczenie Square z Rectangle byłoby problematyczne, jeśli przesłoniliśmy metody SetWidth i SetHeight?
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 …

9
Dlaczego powinienem używać zastrzyku zależności?
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? …

4
Modele z bogatą domeną - jak dokładnie mieści się zachowanie?
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 …


10
Mój proponowany projekt jest zwykle gorszy niż projekt mojego kolegi - jak mogę się poprawić? [Zamknięte]
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 …

12
Posiadanie flagi wskazującej, czy powinniśmy zgłaszać błędy
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 …

10
Co oznacza „użytkownik nie powinien decydować, czy jest administratorem, czy nie. System uprawnień lub bezpieczeństwa powinien. ”
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ń …

9
Czy klasy z tylko jedną (publiczną) metodą stanowią problem?
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, …

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.