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 …
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 …
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 …
Ostatnio nastąpiła jakaś rewolucja przeciwko singletonom, ale czy jest coś z nimi nie tak, jeśli są bezpaństwowcami? Wiem, że mowa o nadużywaniu i wszystko ... dotyczy to wszystkiego, nie tylko singli.
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 } } …
Trudno powiedzieć, o co tu pytają. To pytanie jest dwuznaczne, niejasne, niepełne, zbyt szerokie lub retoryczne i na obecną formę nie można w rozsądny sposób odpowiedzieć. Aby uzyskać pomoc w wyjaśnieniu tego pytania, aby można je było ponownie otworzyć, odwiedź centrum pomocy . Zamknięte 7 lat temu . Widziałem tutaj, …
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 …
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 …
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 …
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 …
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 …
Wiele razy podczas pisania większych programów pytałem o to, ile kopii i past ma sens, aby umieścić kod w funkcji lub metodzie i jaka jest dobra zasada? Korzystam z praktycznej reguły składającej się z czterech lub więcej linii i pojawiają się więcej niż dwa razy, a następnie tworzę prostą funkcję …
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 …
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 …
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 …
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.