Pytania otagowane jako design-patterns

Wzorzec projektowy jest ogólnym rozwiązaniem wielokrotnego użytku dla często występującego problemu w projektowaniu oprogramowania.

13
Gdzie jest M w MVC?
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 …

8
Kiedy należy usunąć złożoność?
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. …




2
Czy wzorzec dekoratora istnieje w klasach Java IO?
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 …

3
Jak skonfigurować MVP dla rozwiązania Winforms?
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 …

6
Czysty funkcjonalny kontra powiedz, nie pytaj?
„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 …

2
Programowanie obiektowe a programowanie wektorowe
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, …

3
W MVC DAO należy wywoływać z kontrolera lub modelu
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 …

3
Czy DAO powinno być singlem czy nie?
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ć …



7
Czy wzorzec strategii można wdrożyć bez znacznego rozgałęzienia?
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. …

4
Wzorzec projektowy C # dla pracowników o różnych parametrach wejściowych
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 …

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.