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
MVCS - Model View Store Store
Niedawno postanowiłem zacząć uczyć się programowania na iOS i w tym celu czytam Programowanie na iOS: The Big Nerd Ranch Guide . W książce autorzy opisują wzorzec projektowy MVCS - Model-View-Controller-Store , podstawową ideą jest to, że ponieważ wiele aplikacji korzysta z wielu zewnętrznych źródeł danych, utrzymywanie logiki żądań w …

2
Oddzielanie dostępu do danych w ASP.NET MVC
Chcę się upewnić, że przestrzegam standardów branżowych i najlepszych praktyk podczas mojego pierwszego prawdziwego cracku w MVC. W tym przypadku jest to ASP.NET MVC, przy użyciu C #. Będę używał Entity Framework 4.1 dla mojego modelu z obiektami zawierającymi kod (baza danych już istnieje), więc będzie obiekt DBContext do pobierania …



2
Jak ulepszyć wzorzec konstruktora Blocha, aby był bardziej odpowiedni do stosowania w klasach o dużej rozszerzalności
Duży wpływ wywarła na mnie książka Joshua Bloch Effective Java (2. wydanie), prawdopodobnie bardziej niż jakakolwiek inna książka programowa, którą przeczytałem. W szczególności jego Wzorzec Budowniczego (punkt 2) miał największy efekt. Mimo że konstruktor Blocha posunął mnie znacznie dalej w ciągu kilku miesięcy niż w ciągu ostatnich dziesięciu lat programowania, …

4
Uwagi dotyczące implementacji Model-View-Presenter
Próbuję dobrze zrozumieć, jak zaimplementować dobre oddzielenie interfejsu użytkownika od modelu, ale mam problem z ustaleniem, gdzie dokładnie podzielić linie. Patrzyłem na Model-View-Presenter, ale nie jestem pewien, jak dokładnie go wdrożyć. Na przykład mój widok ma wiele okien dialogowych. Czy powinna istnieć klasa View z instancjami każdego z okien dialogowych? …

12
Czy to zapach kodu do przechowywania ogólnych obiektów w kontenerze, a następnie pobierania obiektów i spuszczania obiektów z kontenera?
Na przykład mam grę, która ma narzędzia do zwiększenia zdolności gracza: Tool.h class Tool{ public: std::string name; }; I niektóre narzędzia: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; MagicCloth.h class MagicCloth …

8
Jak ustalić, czy klasa spełnia zasadę jednej odpowiedzialności?
Zasada jednolitej odpowiedzialności oparta jest na zasadzie wysokiej spójności. Różnica między nimi polega na tym, że bardzo spójne klasy zawierają zestaw ściśle powiązanych ze sobą obowiązków, podczas gdy klasy przestrzegające SRP mają tylko jedną odpowiedzialność. Ale w jaki sposób ustalamy, czy dana klasa ma zestaw obowiązków i dlatego jest po …


2
Różnica między wzorcem adaptera a wzorcem proxy?
O ile rozumiem, wzorzec adaptera tworzy obiekt otoki dla naszego rzeczywistego obiektu będącego przedmiotem zainteresowania, po prostu jeszcze jeden poziom pośredni, który zapewnia elastyczność. elastyczność polega na tym, że jeśli interfejs rzeczywistego obiektu zostanie zmieniony, wówczas zmieniamy interfejs opakowania wskazujący na rzeczywisty obiekt, pozostawiając interfejs po stronie klienta niezmieniony. Wzór …

11
Czy wzorce projektowe są generalnie siłą na dobre czy złe? [Zamknięte]
Słyszałem, jak argumentowano, że wzory są najlepsze od krojonego chleba. Słyszałem także, jak argumentuje, że wzorce projektowe mają tendencję do zaostrzania „syndromu drugiego systemu”, że są one w znacznym stopniu nadużywane i że ich użytkownicy uważają, że są lepszymi projektantami niż są w rzeczywistości. Mam tendencję do zbliżania się do …


7
Jak zapobiec nieznanemu powielaniu kodu?
Pracuję na dość dużej podstawie kodu. Setki klas, mnóstwo różnych plików, wiele funkcji, potrzeba więcej niż 15 minut, aby pobrać nową kopię itp. Dużym problemem związanym z tak dużą bazą kodu jest to, że ma całkiem sporo metod narzędziowych i takich, które robią to samo, lub kod, który nie używa …

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.