Próbuję przekształcić moją aplikację w MVC, ale utknąłem w części M. W aplikacji opartej na bazie danych model jest zaimplementowany w kodzie aplikacji, prawda? Ale co jest w bazie danych - czy to też nie jest model? (Nie używam bazy danych jako prostej składnicy obiektów - dane w bazie danych …
Przedwczesne wprowadzanie złożoności poprzez wdrażanie wzorców projektowych przed ich użyciem nie jest dobrą praktyką. Ale jeśli zastosujesz się do wszystkich (lub nawet większości) zasad SOLID i zastosujesz wspólne wzorce projektowe, wprowadzisz trochę złożoności w miarę dodawania lub zmieniania funkcji i wymagań, aby zachować łatwość konserwacji i elastyczność w razie potrzeby. …
Czasami słyszę, że posiadanie zbyt wielu klas „menedżerskich” w projekcie twojego programu to zapach kodu i niepotrzebna warstwa złożoności. Dla mnie ma sens, że ludzie chcą używać klas menedżerów do manipulowania obiektami i kontrolowania ich z kontekstu, który ma dla nich sens, ale zastanawianie się, jak sprawić, by rozwiązanie działało …
Widziałem to często w naszym starszym systemie w pracy - funkcje, które wyglądają mniej więcej tak: bool todo = false; if(cond1) { ... // lots of code here if(cond2) todo = true; ... // some other code here } if(todo) { ... } Innymi słowy, funkcja składa się z dwóch …
Muszę zaprojektować hierarchię klas dla mojego projektu w języku C #. Zasadniczo funkcje klas są podobne do klas WinForms, więc weźmy na przykład zestaw narzędzi WinForms. (Nie mogę jednak użyć WinForms ani WPF.) Istnieje kilka podstawowych właściwości i funkcjonalności, które musi zapewnić każda klasa. Wymiary, pozycja, kolor, widoczność (prawda / …
Dla zadania, muszę dowiedzieć się, który z Gang of Four wzorca projektowego klasy java.io.Readeri jej podklasy java.io.PushbackReader, java.io.BufferedReaderi java.io.FilterReaderzostały zbudowane z. Zgodnie z tym postem wzorem projektu byłby wzór dekoratora. To ma sens tylko do mnie, czy PushbackReader, BufferedReaderi FilterReadermogą być ozdobione być używane w tym samym czasie, tworząc skutecznie …
W przeszłości korzystałem z MVP i MVC i wolę MVP, ponieważ moim zdaniem znacznie lepiej kontroluje przebieg wykonywania. Stworzyłem swoją infrastrukturę (klasy magazynu danych / repozytorium) i używam ich bez problemu podczas twardego kodowania przykładowych danych, więc teraz przechodzę do GUI i przygotowuję MVP. Sekcja A Widziałem MVP używającego widoku …
„Idealna liczba argumentów dla funkcji wynosi zero” jest po prostu błędna. Idealna liczba argumentów to dokładnie liczba potrzebna do tego, aby twoja funkcja była wolna od efektów ubocznych. Mniej niż to, a niepotrzebnie powodujesz, że twoje funkcje są nieczyste, zmuszając cię do ucieczki od otchłani sukcesu i wspinania się po …
Jestem rozdarty między projektowaniem obiektowym a projektowaniem wektorowym. Uwielbiam umiejętności, strukturę i bezpieczeństwo, jakie obiekty dają całej architekturze. Ale jednocześnie szybkość jest dla mnie bardzo ważna, a posiadanie prostych zmiennych zmiennoprzecinkowych w tablicy naprawdę pomaga w językach / bibliotekach wektorowych, takich jak Matlab lub numpy w Pythonie. Oto fragment kodu, …
Widziałem różne argumenty przeciwko bezpośredniemu wywoływaniu DAO z klasy Controller, a także DAO z klasy Model. Faktycznie osobiście uważam, że jeśli podążamy za wzorcem MVC, kontroler nie powinien być sprzężony z DAO, ale z klasą Model powinien wywoływać DAO od wewnątrz, a kontroler powinien wywoływać klasę modelu. Dlaczego, ponieważ możemy …
Tworzę API RESTful i myślę, że wygodnie jest używać DAO dla moich zasobów, ponieważ chociaż planuję po prostu używać pamięci do ich przechowywania, nie chcę zamykać drzwi przed kimkolwiek, kto korzysta z mojej biblioteki, jeśli zdecydują się użyć implementacja bazy danych dla DAO. Moje pytanie brzmi, czy DAO powinno być …
Dlaczego ten ShapeFactory używa instrukcji warunkowych do określenia, który obiekt ma zostać utworzony. Czy nie musimy modyfikować ShapeFactory, jeśli chcemy dodać inne klasy w przyszłości? Dlaczego nie narusza to zasady otwartego zamkniętego?
Zamknięte . To pytanie wymaga szczegółów lub jasności . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Dodaj szczegóły i wyjaśnij problem, edytując ten post . Zamknięte 6 lat temu . Niedawno dowiedziałem się o wzorcu projektowym MVC. Uczę się z książki Wzorzec pierwszego projektu. Zgodnie z tą książką (jeśli …
Wzorzec strategii działa dobrze, aby uniknąć dużych, jeśli ... innych konstrukcji i ułatwić dodawanie lub zastępowanie funkcjonalności. Jednak moim zdaniem nadal ma to jedną wadę. Wygląda na to, że w każdej implementacji wciąż musi istnieć rozgałęziony konstrukt. Może to być plik fabryczny lub plik danych. Jako przykład weź system zamawiania. …
Nie jestem pewien, który wzór może pomóc mi rozwiązać ten problem. Mam klasę „Koordynator”, która określa, która klasa Worker powinna zostać użyta - bez konieczności znajomości wszystkich różnych rodzajów Workerów - po prostu wywołuje WorkerFactory i działa na wspólnym interfejsie IWorker. Następnie ustawia odpowiedniego Workera do pracy i zwraca wynik …
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.