Próbuję wyjaśnić zasadę inwersji zależności moim (głównie młodszym) kolegom. Jak możemy zdefiniować, która jest „polityką wysokiego poziomu”, a która „szczegółem niskiego poziomu” w oprogramowaniu? Na przykład, jeśli nasze oprogramowanie automatyzuje przepływ pracy kilku aplikacji biznesowych, dlaczego mówimy, że automatyzacja przepływu pracy jest polityką wysokiego poziomu, a aplikacje biznesowe są szczegółami?
Robię testy jednostkowe i na jednej z moich klas muszę wysłać wiadomość e-mail z jednej z metod, więc za pomocą wstrzykiwania konstruktora wstrzykuję instancję Zend_Mailklasy, która jest w środowisku Zend. Teraz niektórzy twierdzą, że jeśli biblioteka jest wystarczająco stabilna i nie zmienia się często, nie trzeba jej owijać. Zakładając, że …
Nie mogę wymyślić lepszego miejsca wśród rodzeństwa SO, aby postawić takie pytanie. Początkowo chciałem zapytać „Czy python jest czystym językiem OO?” ale biorąc pod uwagę problemy i pewien dyskomfort, jaki ludzie odczuwają, próbując zdefiniować termin, postanowiłem zacząć od uzyskania jasnej definicji samego terminu. Byłoby raczej uczciwe zacząć od korespondencji dr …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 2 lata temu . Jestem tego ciekawy, ponieważ pamiętam, zanim jeszcze nauczyłem się funkcjonalnych języków, uważałem je wszystkie okropnie, …
Dużo myślałem o projektowaniu języka i o tym, jakie elementy byłyby konieczne dla „idealnego” języka programowania, a studiowanie Google Go skłoniło mnie do zakwestionowania wielu powszechnie znanej wiedzy. W szczególności Go wydaje się mieć wszystkie interesujące korzyści z programowania obiektowego bez faktycznej struktury języka zorientowanego obiektowo. Nie ma klas, tylko …
W obecnym projekcie moce, które chcą włączyć testy jednostkowe do naszego cyklu rozwoju, aby uniknąć stałej liczby błędów, które wydają się przenikać do naszego kodu. Problem polega na tym, że kod spaghetti jest w 95% procenty proceduralny, z którym nigdy nie przeprowadzałem testów jednostkowych (całe moje doświadczenie z testowaniem jednostkowym …
Studiuję OOP w C ++ i chociaż jestem świadomy definicji tych 3 pojęć, tak naprawdę nie jestem w stanie zrozumieć, kiedy i jak go używać. Użyjmy tej klasy na przykład: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age …
Jeśli rozumiem, model aktora jest podobny do modelu obiektowego, ale z kilkoma różnicami: KAŻDY obiekt spawnuje swój własny wątek i nie stanowi problemu, nawet jeśli masz tysiące obiektów. Aktorzy nie wchodzą w interakcje, wywołując funkcje i zwracając wartości, ale zamiast tego wysyłając i odbierając wiadomości. Jeśli nie naruszysz tego modelu, …
Jestem całkiem nowy w zasadach projektowania SOLID . Rozumiem ich przyczynę i korzyści, ale jednak nie stosuję ich do mniejszego projektu, który chciałbym zreformować jako praktyczne ćwiczenie z wykorzystaniem zasad SOLID. Wiem, że nie ma potrzeby zmiany aplikacji, która działa idealnie, ale i tak chcę ją zrefaktoryzować, aby zyskać doświadczenie …
To może być pytanie filozoficzne / fundamentalne, ale chcę to wyjaśnić. W moim rozumieniu Maszyna Skończonych Stanów jest sposobem modelowania systemu, w którym moc wyjściowa systemu będzie zależeć nie tylko od bieżących danych wejściowych, ale także od bieżącego stanu systemu. Ponadto, jak sugeruje nazwa, skończona maszyna stanów może być podzielona …
Jestem nowy w programowaniu obiektowym, a jedną z koncepcji, którą zajęło mi trochę czasu, jest niezmienność. Myślę, że żarówka zgasła ostatniej nocy, ale chcę zweryfikować: Kiedy napotykam stwierdzenia, że niezmiennego obiektu nie można zmienić, jestem zdziwiony, ponieważ mogę na przykład wykonać następujące czynności: NSString *myName = @"Bob"; myName = @"Mike"; …
Ciągle przytłaczają mnie duże projekty, kiedy osiągają pewien poziom złożoności. Gdy osiągnę pewien punkt w projekcie, moje postępy zwalniają do pełzania i nieustannie śledzę moje kroki i rozwiązuję wszelkie zamieszanie. Naprawdę dobrze sobie radzę z refaktoryzacją z powodu mojej słabości. I zawsze staram się rozkładać moje obiekty na mniejsze, łatwiejsze …
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 …
Słyszałem to wiele razy i staram się zrozumieć i potwierdzić ideę, że FP i OO są ortogonalne. Po pierwsze, co to znaczy, że 2 koncepcje są ortogonalne? FP w jak największym stopniu zachęca do niezmienności i czystości. a OO wydaje się czymś zbudowanym dla stanu i mutacji (nieco zorganizowana wersja …
Po CirclerozszerzeniuEllipse łamie zasadę substytucji Liskowa , ponieważ modyfikuje ona warunek końcowy : mianowicie możesz ustawić X i Y niezależnie, aby narysować elipsę, ale X musi zawsze być równe Y dla okręgów. Ale czy problem nie jest spowodowany tym, że Circle jest podtypem elipsy? Czy nie moglibyśmy odwrócić relacji? Tak …
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.