Podczas projektowania schematu relacyjnej bazy danych dla aplikacji internetowych często znajduję przypadek, w którym kończę tworzenie tabeli zawierającej tylko jeden wiersz i tylko jeden wiersz. Wydaje się, że jest to niewłaściwy sposób zaprojektowania go, ale nie mogę wymyślić niczego znacznie lepszego lub jest to oczywiście „właściwy sposób na zrobienie tego”. …
Istnieje wiele podobnych pytań 1 ,2 ,3 ,4 , ale nie wydaje się dokładnie tak w tym pytaniu, ani rozwiązania nie wydają się optymalne. To jest ogólne pytanie OOP, przy założeniu, że polimorfizm, leki generyczne i miksy są dostępne. Rzeczywistym używanym językiem jest OOP Javascript (Typescript), ale ten sam problem …
Rozmawiałem dzisiaj z moim kolegą na temat frameworków internetowych Pythona i naszych wrażeń na ich temat. Powiedziałem mu, że myślę, że Flask, który ma globalne życzenie, źle pachnie i jest anty-wzorem. W docs powiedzieć o kontekście żądanie: Natomiast podczas obsługi żądań istnieje kilka innych reguł: gdy żądanie jest aktywne, kontekstowe …
Kontekst Używałem z hierarchią obiektów (drzewa wyrażeń) wzorca „pseudo” użytkownika (pseudo, ponieważ w nim nie stosuje podwójnej wysyłki): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... and so on ... } } Ten projekt był …
Kiedy próbuję zaprojektować rozwiązanie OO, zwykle używam modelowania CRC, w którym wymieniam nazwy klas (rzeczowniki), co robią (czasowniki) i jak współpracują z innymi klasami. Ten blog ma poniżej do powiedzenia na temat tego czasownika ...This approach, which I will call “noun and verb,” is so limited I’ll dare to call …
Zasada otwartego zamknięcia (OCP) stanowi, że obiekt powinien być otwarty do rozszerzenia, ale zamknięty do modyfikacji. Wierzę, że rozumiem to i używam go w połączeniu z SRP do tworzenia klas, które robią tylko jedną rzecz. I staram się stworzyć wiele małych metod, które umożliwiają wyodrębnienie wszystkich elementów sterujących zachowania na …
W wielu artykułach w Internecie pojęcia Inwersja kontroli i zasada inwersji zależności wydają się być pomieszane i używane jako synonimy (dalsze zamieszanie jest wymuszane przez narzędzia nazywane „kontenerami DI” i „kontenerami IoC”). Artykuł w Wikipedii robi dobrą robotę, próbując wyjaśnić, że IoC to nie to samo, co DI: inwersja kontroli …
Wiele tutoriali na temat DDD, które studiowałem, dotyczy głównie teorii. Wszystkie mają podstawowe przykłady kodu (Pluralsight i podobne). W Internecie próbuje się również kilka osób, aby stworzyć samouczki dotyczące DDD z EF. Jeśli zaczniesz je studiować krótko - szybko zauważysz, że bardzo się od siebie różnią. Niektóre osoby zalecają, aby …
MVC jest dość proste. Istnieje model, kontroler i widok. Kiedy tworzymy stronę internetową, wszystko się łączy, gdy „ klient wysyła żądanie słowa kluczowego REST do serwera -> serwer dopasowuje żądany adres URL do działania kontrolera -> który następnie wywołuje model (y) do gromadzenia / przetwarzania danych, uzyskuje wynik -> i …
Tytuł jest celowo hiperboliczny i może to być tylko mój brak doświadczenia ze schematem, ale oto moje rozumowanie: „Zwykłym” lub prawdopodobnie prostym sposobem implementacji jednostek jest implementowanie ich jako obiektów i wspólne zachowanie podklas. Prowadzi to do klasycznego problemu „jest EvilTreepodklasą Treelub Enemy?”. Jeśli pozwolimy na wielokrotne dziedziczenie, powstanie problem …
Java i .NET mają wspaniałe kolektory śmieci, które zarządzają pamięcią dla Ciebie, i wygodne wzorce do szybkiego uwalniania obiektów zewnętrznych ( Closeable, IDisposable), ale tylko jeśli są własnością jednego obiektu. W niektórych systemach zasób może wymagać niezależnego zużycia przez dwa składniki i może zostać zwolniony tylko wtedy, gdy oba składniki …
Kiedy próbuję utworzyć interfejs dla określonego programu, zwykle staram się unikać zgłaszania wyjątków, które zależą od niepoprawnych danych wejściowych. Tak więc często zdarza się, że myślałem o takim kodzie (ten przykład jest tylko przykładem, nie przejmuj się funkcją, którą wykonuje, przykład w Javie): public static String padToEvenOriginal(int evenSize, String string) …
W naszej aplikacji mamy trzy warstwy. Warstwa usługi zapewniająca zewnętrzny interfejs API. Warstwa BO dla naszej logiki biznesowej i warstwa DAO dla naszego połączenia z bazą danych. Powiedzmy, że za każdym razem, gdy aktualizujemy plik, chcemy również coś zmienić w folderze, na przykład „data ostatniej modyfikacji”. Trzeba to zrobić w …
Dostałem trochę kodu Java do obejrzenia, który symuluje wyścig samochodowy, w tym implementację podstawowej maszyny stanu. To nie jest klasyczna machina stanów komputerowych, lecz jedynie obiekt, który może mieć wiele stanów i może przełączać się między tymi stanami na podstawie serii obliczeń. Aby opisać tylko problem, mam klasę samochodów z …
Staram się przestrzegać zasady DRY w moim programowaniu tak mocno, jak potrafię. Ostatnio uczyłem się wzorców projektowych w OOP i skończyło się na tym, że powtarzałem sobie całkiem sporo. Utworzyłem wzorzec repozytorium wraz ze wzorami Factory i Gateway, aby obsłużyć moją trwałość. Korzystam z bazy danych w mojej aplikacji, ale …
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.