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.

2
Używanie pakietów (klejnotów, jajek itp.) Do tworzenia oddzielnych architektur
Główny problem Widząc dobre wsparcie większość nowoczesnych platform programowania ma do zarządzania pakietami (myślę gem, npm, pipitp), to ma sens, aby zaprojektować aplikację lub system składający się z wewnętrznie opracowanych pakietów, tak aby promować i tworzyć luźno architekturę? Przykład Przykładem może być tworzenie pakietów dostępu do bazy danych, a także …

4
Ile wysiłku powinienem zainwestować w tworzenie luźno powiązanych projektów?
Obecnie uczę się o wzorach projektowych. Myślę, że większość ludzi zgodzi się, że te wzorce są świetnymi narzędziami, ale powinny być stosowane z umiarem, a nie jako odpowiedź na wszystko. Nadmierne ich użycie nadmiernie skomplikowałoby aplikację, przynosząc niewielkie korzyści. Wzory powinny być stosowane tylko tam, gdzie mogą być najlepszym rozwiązaniem …

4
Który wzór jest bardziej odpowiedni do rejestrowania?
Powinienem rejestrować niektóre zdarzenia w programie, ale o ile wiem, lepiej byłoby przechowywać kod logowania poza programem, ponieważ nie chodzi o prawdziwą funkcjonalność programu. Czy możesz mi powiedzieć, czy powinienem całkowicie trzymać się z dala od kodu i używać tylko obserwatorów i słuchaczy do rejestrowania zdarzeń? Lub mogę dodać wiersz …

2
Gdzie sprawdzić poprawność reguł modelu domeny, które zależą od zawartości bazy danych?
Pracuję nad systemem, który pozwala administratorom definiować formularze zawierające pola. Zdefiniowane formularze są następnie wykorzystywane do wprowadzania danych do systemu. Czasami Formularze są wypełniane przez człowieka za pomocą GUI, czasami Formularz jest wypełniany na podstawie wartości zgłoszonych przez inny system. Dla każdego pola administrator może zdefiniować regułę walidacji, która ogranicza …

2
Klasa kontekstu we wzorze strategii
Próbuję zrozumieć wzorzec strategii i zadaję sobie pytanie: czy klasa kontekstowa jest niezbędna, czy mogę ją pominąć bez uszczerbku dla celu wzorca? Miałem wrażenie, że potrzebowałem jakiegoś rodzaju przełącznika do odczytu różnych typów plików, ale nie chciałem po prostu hakować czegoś, a później zajmować się refaktoryzacją (chociaż oczywiście zawsze zdarza …

5
Czy w MVC można / należy pobierać podstawowe dane z modelu w widoku?
Biorąc pod uwagę koncepcję „chudych kontrolerów, grubych modeli” i ogólną akceptację, że widoki mogą bezpośrednio wywoływać modele, gdy wymagają danych do danych wyjściowych, czy należy rozważyć obsługę części „pobierania i wyświetlania” żądań w widokach, a nie kontrolera? Na przykład (próbował zachować kod dość ogólny): Kontroler <?php class Invoice extends Base_Controller …

7
Czy użycie warunkowych warunków bezpieczeństwa w związku z naruszeniem MVC?
Często to, co wyświetla się użytkownikowi (np. Na stronie internetowej), będzie częściowo oparte na kontroli bezpieczeństwa. Zazwyczaj uważam bezpieczeństwo na poziomie użytkownika / ACL za część logiki biznesowej systemu. Jeśli widok wyraźnie sprawdza zabezpieczenia w celu warunkowego wyświetlania elementów interfejsu użytkownika, czy narusza MVC poprzez zawieranie logiki biznesowej?

1
Przydatne wzorce projektowe do pracy z FragmentManager na Androidzie
Podczas pracy z fragmentami korzystałem z klasy złożonej ze statycznych metod, które definiują działania na fragmentach. Dla każdego projektu mogę mieć klasę o nazwie FragmentActions, która zawiera metody podobne do następujących: public static void showDeviceFragment(FragmentManager man){ String tag = AllDevicesFragment.getFragmentTag(); AllDevicesFragment fragment = (AllDevicesFragment)man.findFragmentByTag(tag); if(fragment == null){ fragment = new …

5
Jak przetestować jednostkę, która jest refaktoryzowana do wzorca strategii?
Jeśli mam w kodzie funkcję, która wygląda następująco: class Employee{ public string calculateTax(string name, int salary) { switch (name) { case "Chris": doSomething($salary); case "David": doSomethingDifferent($salary); case "Scott": doOtherThing($salary); } } Normalnie przefakturowałbym to, aby użyć Ploymorfizmu przy użyciu fabrycznego wzorca klasy i strategii: public string calculateTax(string name) { InameHandler …

4
Wzorzec projektowy do obsługi odpowiedzi
Przez większość czasu, gdy piszę kod, który obsługuje odpowiedź na określone wywołanie funkcji, otrzymuję następującą strukturę kodu: przykład: jest to funkcja, która będzie obsługiwać uwierzytelnianie w systemie logowania class Authentication{ function login(){ //This function is called from my Controller $result=$this->authenticate($username,$password); if($result=='wrong password'){ //increase the login trials counter //send mail to …



3
Wzór obserwatora; wiedząc * co * się zmieniło?
Stworzyłem dwie abstrakcyjne klasy Subject i Observer, które definiują klasyczny interfejs wzorców Observer. Czerpię z nich implementację wzorca Observer. Obserwator może wyglądać następująco: void MyClass::Update(Subject *subject) { if(subject == myService_) { DoSomething(); } else if(subject == myOtherService_) { DoSomethingElse(); } } To dobrze i mówi mi, kto coś zmienił. Jednak …

4
Jakie są „zapachy kodu”, które świadczą o tym, że wymagany jest model nasłuchiwania zdarzeń?
Jakie objawy w bazie kodu wskazują, że wymagane jest podejście do detektora zdarzeń? Wydaje mi się, że gdy istnieją klasy, które muszą być wywoływane przez wiele, nieokreślone w zestawie innych klas w czasie projektowania, potrzebujesz jakiegoś szkieletu sygnalizacyjnego, ale chciałbym usłyszeć, jakie inne sytuacje mogłyby tam być ulepszone przez przejście …

2
Jakie wzorce projektowe GOF są już zaimplementowane jako pierwszorzędne funkcje językowe w języku C #?
(To pytanie zostało zamknięte w przypadku przepełnienia stosu, ponieważ jest „zbyt szerokie” i „nie jest prawdziwym pytaniem”, więc może jest bardziej odpowiednie tutaj?) Zainspirowany tym pytaniem . Wiemy, że wydarzenia są implementacją wzorca Observer na poziomie językowym. Czy istnieją inne wzorce projektowe zaimplementowane jako funkcje językowe w języku C #? …

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.