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.

1
Zasada otwartego zamknięcia (OCP) a zasada inwersji zależności (DIP)
Próbowałem zrozumieć różnicę między otwartą zasadą zamkniętą (OCP) a zasadą odwrócenia zależności (DIP). Na podstawie badań, które przeprowadziłem do tej pory w Internecie, doszedłem do wniosku, że „DIP jest jedną z opcji, dzięki której możemy osiągnąć OCP”. Mam rację? Czy możesz podać mi przykład, który nie podąża za DIP, ale …

2
Jaka jest praktyczna różnica między stylami wstrzykiwania zależności?
Jestem nowy w zastrzykach zależności i mam kilka pytań na temat tego, jaki styl powinienem zastosować w swoich aplikacjach. Właśnie przeczytałem Inversion of Control Containers i wzorzec Dependency Injection autorstwa Martina Fowlera, ale nie mogę dostrzec praktycznej różnicy między konstruktorem, seterą i iniekcją interfejsu. Wydaje mi się, że powody używania …

2
Implementowanie wzorca poleceń w interfejsie API RESTful
Jestem w trakcie projektowania interfejsu API HTTP, mam nadzieję, że uczynię go możliwie jak najbardziej REST. Istnieje kilka działań, których funkcjonalność rozciąga się na kilka zasobów i czasem trzeba je cofnąć. Pomyślałem sobie, że to brzmi jak wzorzec poleceń, ale jak mogę zamodelować go w zasób? Przedstawię nowy zasób o …


2
Szukam porady projektowej OO
Tworzę aplikację, która będzie używana do otwierania i zamykania zaworów w środowisku przemysłowym, i myślałam o czymś prostym: public static void ValveController { public static void OpenValve(string valveName) { // Implementation to open the valve } public static void CloseValve(string valveName) { // Implementation to close the valve } } …


2
Czy obiekty ignorujące trwałość są w stanie zaimplementować opóźnione ładowanie?
Trwałość Ignorancja jest zastosowaniem zasady pojedynczej odpowiedzialności, co w praktyce oznacza, że ​​Obiekty Domeny ( DO ) nie powinny zawierać kodu związanego z trwałością, a jedynie logikę domeny. a) Zakładam, że oznacza to, że kod, który kontaktuje się z niższymi warstwami (tj. warstwami trwałości), żyje poza modelem domeny w innych …

4
Wzorce projektowe / strategie dla niestandardowych pól i typów danych
Czy istnieją jakieś wspólne strategie lub wzorce projektowe do projektowania aplikacji, które mają możliwość dodawania niestandardowych pól do obiektów danych lub tworzenia własnej niestandardowej definicji obiektów. Na przykład myślę o produktach takich jak SalesForce, w których możesz mieć własne typy informacji, frameworki, takie jak Expression Engine i sposób, w jaki …

5
Czy przeciążanie jest przykładem zasady otwartej / zamkniętej?
Wikipedia mówi „jednostki oprogramowania (klasy, moduły, funkcje itp.) powinny być otwarte na rozszerzenie, ale zamknięte na modyfikację” Słowo funkcje złapany oczy, a ja teraz zastanawiam się, czy możemy założyć, że tworzenie przeciążenie dla metody można uznać za przykład otwarty / zamknięty zasady czy nie? Pozwól mi wyjaśnić przykład. Weź pod …

8
Jak „proste” jest prawdziwe rozwiązanie KISS? [Zamknięte]
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …

1
Wzory dla aplikacji internetowych obciążonych przez ajax
Do tej pory byłem wielkim fanem wzorca MVC do tworzenia aplikacji internetowych. Dla sieci opracowałem głównie w PHP (z ramami Kohana i CodeIgniter) i Ruby (RoR). Gdy moje aplikacje stają się coraz cięższe po stronie Ajaxa (aplikacje jednostronicowe itp.), Zauważyłem, że nie mogę nie zdradzić bardzo podstawowych pojęć MVC: JavaScript …


3
Ulepszenia wzorca projektowego konstruktora Joshua Blocha?
W 2007 roku przeczytałem artykuł o tym, jak Joshua Bloch przyjmuje „wzorzec konstruktora” oraz o tym, jak można go zmodyfikować w celu poprawy nadużywania konstruktorów i ustawiaczy, zwłaszcza gdy obiekt ma dużą liczbę właściwości, z których większość jest opcjonalna. Krótkie streszczenie tego wzoru projektowego znajduje się tutaj . Podobał mi …

4
Unikaj metody inicjalizacji
Mam ten istniejący kod, w którym mają klasę i metodę inicjowania w tej klasie. Oczekuje się, że po utworzeniu obiektu klasy muszą one wywoływać na nim inicjalizację. Powód, dla którego istnieje metoda inicjalizacji Obiekt jest tworzony wcześnie, aby mieć zasięg globalny, a następnie metoda inicjalizacji jest wywoływana później po załadowaniu …

1
Architektura oprogramowania do uwierzytelniania / kontroli dostępu do usługi REST
Konfiguruję nową usługę sieci Web RESTful i muszę zapewnić oparty na rolach model kontroli dostępu . Muszę stworzyć architekturę, która pozwoli użytkownikom podać swoją nazwę użytkownika i hasło, aby uzyskać dostęp do usług, a następnie ograniczyć sposób, w jaki mogą korzystać z usług (z których usług mogą korzystać, czytać a …

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.