Czy klasa powinna wiedzieć o swoich podklasach? Czy klasa powinna na przykład zrobić coś specyficznego dla danej podklasy? Mój instynkt podpowiada mi, że jest to zły projekt, wydaje się być pewnego rodzaju anty-wzorem.
Zastanawiam się, co jest lepsze pod względem dobrego projektowania OOP, czystego kodu, elastyczności i unikania zapachów kodu w przyszłości. Sytuacja obrazowa, w której masz wiele bardzo podobnych obiektów, które musisz reprezentować jako klasy. Klasy te nie mają żadnej konkretnej funkcjonalności, tylko klasy danych i różnią się tylko nazwą (i kontekstem) …
Powiedzmy, że mam procedurę, która wykonuje różne czynności : void doStuff(initalParams) { ... } Teraz odkrywam, że „robienie rzeczy” to dość skomplikowana operacja. Procedura staje się duża, podzielę ją na wiele mniejszych procedur i wkrótce zdaję sobie sprawę, że posiadanie jakiegoś stanu byłoby przydatne podczas robienia rzeczy, więc muszę przekazywać …
Prosty sposób na zachowanie ustawień aplikacji Java jest reprezentowany przez plik tekstowy z rozszerzeniem „.properties” zawierający identyfikator każdego ustawienia powiązanego z określoną wartością (ta wartość może być liczbą, łańcuchem, datą itp.) . C # stosuje podobne podejście, ale plik tekstowy musi mieć nazwę „App.config”. W obu przypadkach w kodzie źródłowym …
Wiele Builder Patternprzykładów tworzy Builderwewnętrzną klasę obiektu, który buduje. Ma to jakiś sens, ponieważ wskazuje, co Builderbuduje. Jednak w języku typowanym statycznie wiemy, co się Builderkompiluje. Z drugiej strony, jeśli Builderjest to klasa wewnętrzna, powinieneś wiedzieć, jaką klasę Builderbuduje, nie zaglądając do wnętrza Builder. Ponadto posiadanie konstruktora jako klasy wewnętrznej …
Mam aplikację internetową. Nie wierzę, że technologia jest ważna. Struktura jest aplikacją na poziomie N, pokazaną na obrazku po lewej stronie. Istnieją 3 warstwy. Interfejs użytkownika (wzorzec MVC), warstwa logiki biznesowej (BLL) i warstwa dostępu do danych (DAL) Mam problem z tym, że moja BLL jest ogromna, ponieważ ma logikę …
tło Obecnie mam sytuację, w której mam obiekt przesyłany i odbierany przez urządzenie. Ten komunikat ma kilka konstrukcji, takich jak: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionMetoda wymaga , aby wywołać ReverseDatametodę, gdy jest to tzw. Są jednak chwile, w których będę musiał wywoływać ReverseDatazewnętrznie (i powinienem całkowicie dodać poza …
Zgodnie z logiką domeny DDD nie należy zanieczyszczać problemami technicznymi, takimi jak serializacja, mapowanie obiektowo-relacyjne itp. Jak więc serializować lub mapować stan agregatów bez publicznego ujawniania go za pomocą metod pobierających i ustawiających? Widziałem wiele przykładów np. Implementacji repozytoriów, ale praktycznie wszystkie polegały na publicznych akcesoriach na obiektach i obiektach …
Ponieważ dość wiele dynamicznych języków programowania ma funkcję pisania kaczego , mogą też w dowolnym momencie otwierać i modyfikować metody klas lub instancji (takie jak Ruby i Python ), a następnie… Pytanie 1) Jaka jest potrzeba zajęć w dynamicznym języku? Dlaczego język jest zaprojektowany w taki sposób, aby używać klasy …
Biorąc pod uwagę, że UML jest zorientowany na bardziej klasyczne podejście do orientacji obiektowej, czy nadal można go w wiarygodny sposób projektować systemy JavaScript? Jednym konkretnym problemem, jaki widzę, jest to, że diagramy klas są w rzeczywistości strukturalnym widokiem systemu, a JavaScript jest bardziej zależny od zachowania, jak sobie z …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 4 lata temu . Ok, rozumiem normalne konwencje używania czasowników z funkcjami i rzeczowników z klasami. Co …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 5 lat temu . Przeczytałem kontrowersyjny artykuł Nauczanie FP studentom pierwszego roku napisany przez Roberta Harpera, który …
Pochodzę z zorientowanego obiektowo tła, w którym nauczyłem się, że klasy są lub przynajmniej mogą być użyte do stworzenia warstwy abstrakcji, która pozwala na łatwy recykling kodu, który może być następnie użyty do stworzenia obiektów lub do dziedziczenia. Na przykład mogę mieć klasę zwierząt, a następnie odziedziczyć po niej koty …
Nie jestem inżynierem oprogramowania. Jestem doktorantem z dziedziny geologii. Prawie dwa lata temu zacząłem programować oprogramowanie naukowe. Nigdy nie korzystałem z ciągłej integracji (CI), głównie dlatego, że na początku nie wiedziałem, że istnieje i byłem jedyną osobą pracującą nad tym oprogramowaniem. Ponieważ baza oprogramowania działa, inni ludzie zaczynają się nim …
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.