Niedawno przeczytałem, że stosowanie wzorca repozytorium w połączeniu z ORM nie jest dobrą praktyką. Z mojego zrozumienia wynika, że abstrakcja, którą zapewniają w bazie danych SQL, jest zbyt nieszczelna, aby mogła zostać zawarta we wzorcu. Mam kilka pytań na ten temat: Co robisz, jeśli chcesz zmienić ORM? Miałbyś kod specyficzny …
Czy architektura Entity Component System jest z definicji obiektowa? Wydaje mi się bardziej proceduralne lub funkcjonalne. Uważam, że nie przeszkadza to we wdrożeniu go w języku OO, ale nie byłoby idiomatyczne, aby robić to zdecydowanie OO. Wygląda na to, że ECS oddziela dane (E i C) od zachowania (S). Jako …
Zasada jest zdefiniowana jako moduły mające jeden powód do zmiany . Moje pytanie brzmi: z pewnością te przyczyny zmiany nie są znane, dopóki kod nie zacznie się zmieniać? Prawie każdy fragment kodu ma wiele powodów, dla których mógłby się zmienić, ale z pewnością próba przewidzenia ich wszystkich i zaprojektowania kodu …
Zawsze zastanawiałem się, ile różnych klas wyjątków powinienem wdrożyć i wyrzucić dla różnych elementów mojego oprogramowania. Mój szczególny rozwój jest zwykle związany z C ++ / C # / Java, ale wierzę, że jest to pytanie dla wszystkich języków. Chcę zrozumieć, jaka jest duża liczba różnych wyjątków i czego społeczność …
Jesteśmy obecnie w sytuacji, w której mamy wybór pomiędzy użyciem gotowego mapera relacyjno-obiektowego lub stworzeniem własnego Mamy starszą aplikację (ASP.NET + SQL Server), w której warstwa danych i warstwa biznesowa są niestety połączone. System nie jest szczególnie skomplikowany pod względem dostępu do danych. Odczytuje dane z dużej grupy (35–40) powiązanych …
Ok, mamy dwa zasoby: Albumi Song. Oto API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId Wiemy, że nienawidzimy jakiejś piosenki Susy, na przykład nazywa się . Gdzie powinniśmy podjąć searchdziałania? Inne pytanie. Okej, teraz jest to bardziej realne. Otwieramy album 1 i ładujemy wszystkie piosenki. Tworzymy obiekty JS, każdy …
Jaka jest różnica między wzorami projektowania obiektowego a zasadami? Czy to są różne rzeczy? O ile rozumiem, obaj starają się osiągnąć jakiś wspólny cel (np. Elastyczność). Czy mogę więc powiedzieć, że wzór jest zasadą i odwrotnie? Zasada projektu = SOLID (tj. Zasada inwersji zależności) Wzór projektowy = Gof (tj. Abstrakcyjny …
Często spotykam się z pomocnikami lub klasami Java w języku Java lub jakimkolwiek innym języku. Zadawałem więc sobie pytanie, czy jest to jakiś anty-wzór, a istnienie tego rodzaju klas to po prostu brak braków w projektowaniu i architekturze oprogramowania. Często te klasy są ograniczone przy użyciu tylko metod statycznych, które …
Zgodnie z refaktoryzacją do wzorów : Gdy klasa próbuje zrobić zbyt wiele, często pojawia się jako zbyt wiele zmiennych instancji. Gdy klasa ma zbyt wiele zmiennych instancji, zduplikowany kod nie może być daleko w tyle. W jaki sposób posiadanie zbyt wielu zmiennych instancji prowadzi do duplikowania kodu?
a) Jaka jest różnica między SRP a SoC ? Być może SRP jest stosowany na poziomie klasy, podczas gdy SoC może być stosowany na poziomie systemu , podsystemu , modułu , klasy lub funkcji . b) Jeśli odpowiedź na a) brzmi „tak”, to czy SoC jest stosowany na poziomie klasy …
Jestem studentem uniwersytetu i właśnie zacząłem uczyć się o wzorach projektowych i staram się zrozumieć ich cel. Próbowałem je badać, ale wszystkie zasoby, które znalazłem, wydają się mówić o nich w sposób akademicki, a nie profesjonalny. Jaki jest ich cel i czy należy się ich uczyć?
Jest to decyzja projektowa, która wydaje się często pojawiać: jak przekazać kontekst za pomocą metody, która jej nie potrzebuje, do metody, która to robi. Czy istnieje poprawna odpowiedź, czy zależy to od kontekstu. Przykładowy kod, który wymaga rozwiązania // needs the dependency function baz(session) { session('baz'); } // doesn't care …
Myśląc o zwinnym tworzeniu oprogramowania i wszystkich zasadach (SRP, OCP, ...) zadaję sobie pytanie, jak traktować rejestrowanie. Czy logowanie obok implementacji stanowi naruszenie zasad SRP? Powiedziałbym, yesponieważ wdrożenie powinno być również w stanie działać bez logowania. Jak więc lepiej wdrożyć rejestrowanie? Sprawdziłem niektóre wzory i doszedłem do wniosku, że najlepszym …
Niezależnie od popularności, czy istnieją jakieś dowody empiryczne, które pokazują, że wstrzykiwanie zależności (i / lub użycie kontenera DI) pomaga, powiedzmy, w zmniejszeniu liczby błędów, poprawie łatwości konserwacji lub zwiększeniu prędkości opracowywania rzeczywistych projektów oprogramowania?
Chociaż w poniższym kodzie użyto prostego zakupu pojedynczego elementu w witrynie e-commerce, moje ogólne pytanie dotyczy aktualizacji wszystkich członków danych, aby dane obiektu były zawsze aktualne. Znalazłem „spójność” i „stan jest zły” jako odpowiednie wyrażenia, omówione tutaj: https://en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; private $shipping = 5; …
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.