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 6 lat temu . Jestem teraz na 4 roku na uniwersytecie informatycznym, a kiedy rozmawiam z moim …
Zablokowana . To pytanie i odpowiedzi są zablokowane, ponieważ pytanie jest nie na temat, ale ma znaczenie historyczne. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Często staram się unikać mówienia ludziom, że jestem programistą, ponieważ przez większość czasu tłumaczę im, co to naprawdę znaczy. Kiedy mówię im, że programuję w …
Często moje obiekty biznesowe mają sytuacje, w których informacje zbyt często przekraczają granice obiektów. Kiedy robimy OO, chcemy, aby informacje były w jednym obiekcie i w miarę możliwości cały kod zajmujący się tymi informacjami powinien znajdować się w tym obiekcie. Jednak reguły biznesowe nie są zgodne z tą zasadą, co …
Zamknięte . To pytanie wymaga szczegółów lub jasności . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Dodaj szczegóły i wyjaśnij problem, edytując ten post . Zamknięte 6 lat temu . Właśnie zacząłem pracować nad projektem i używamy projektowania opartego na domenach (zgodnie z definicją Erica Evansa w opracowaniu opartym …
Zazwyczaj deklarując klasę C ++, najlepszą praktyką jest umieszczanie tylko deklaracji w pliku nagłówkowym i implementacji w pliku źródłowym. Wydaje się jednak, że ten model projektowy nie działa w przypadku klas szablonów. Podczas wyszukiwania online wydaje się, że są 2 opinie na temat najlepszego sposobu zarządzania klasami szablonów: 1. Cała …
Mam klasę obliczającą roczny dochód netto pracowników. Ma stałą reprezentującą procent podatku. Ale pewnego dnia stawka podatku się zmieniła, więc muszę naprawić kod. Czy czynność ustalenia tej stałej wskazuje na naruszenie zasady otwartego-zamkniętego , ponieważ postuluje, że klasa powinna być zamknięta na modyfikacje?
Ostatnio niepokoją mnie zastosowania klas abstrakcyjnych. Czasami klasa abstrakcyjna jest wcześniej tworzona i działa jako szablon tego, jak działają klasy pochodne. Oznacza to mniej więcej, że zapewniają one pewną funkcjonalność na wysokim poziomie, ale pomijają pewne szczegóły do zaimplementowania przez klasy pochodne. Klasa abstrakcyjna określa potrzebę tych szczegółów, wprowadzając pewne …
(Widziałem to pytanie , ale pierwsza odpowiedź dotyczy bardziej właściwości automatycznych niż projektowania, a druga mówi, że ukryj kod przechowywania danych przed konsumentem , czego nie jestem pewien, czy tego chcę / mój kod robi, więc chciałbym usłyszeć inną opinię) Mam dwóch bardzo podobnych podmiotów, HolidayDiscountoraz RentalDiscount, że stanowią rabaty …
W Javie i C # można utworzyć obiekt z właściwościami, które można ustawić przy inicjalizacji, poprzez zdefiniowanie konstruktora za pomocą parametrów, zdefiniowanie każdej właściwości po skonstruowaniu obiektu lub użycie wzorca interfejsu konstruktora / płynu. Jednak C # 3 wprowadził inicjatory obiektów i kolekcji, co oznaczało, że wzorzec konstruktora był w …
Jakie jest zalecane podejście do funkcji pomocniczych? Chciałbym wybrać jedną technikę i uruchomić ją, aby stworzyć moją nową „klasę”. Oto opcje projektowania, które rozważałem: Opcja 1: Funkcja pomocnicza w zewnętrznym zasięgu, wywoływana w kontekście instancji function createPane (pane) { // logic to create pane var proto = Object.create(this.paneList); $.extend(paneProto, pane); …
Czytałem stronę internetową JDOM . Dlaczego interfejs API JDOM jest definiowany w kategoriach konkretnych klas, a nie interfejsów? Jason Hunter podsumowuje argumenty przeciwko interfejsowi API opartemu na interfejsie JDOM: Dzięki interfejsom wszystko staje się fabryką, elementy muszą być „importowane” do nowych dokumentów, a nie tylko dodawane, nie można zagwarantować takich …
Dlaczego miałaby być korzyść ze stosowania metody statycznej i przekazywania odwołania do obiektu jako parametru zamiast wywoływania metody na obiekcie? Aby wyjaśnić, co mam na myśli, rozważ następującą klasę: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public void …
Czytałem tę stronę o tym , kiedy getters / setters są uzasadnieni, a OP podał następujący przykładowy kod: class Fridge { int cheese; void set_cheese(int _cheese) { cheese = _cheese; } int get_cheese() { return cheese; } } void go_shopping(Fridge fridge) { fridge.set_cheese(fridge.get_cheese() + 5); } W Zaakceptowanych odpowiedź stany: …
Widzę korzyści wynikające ze stosowania obiektów mutowalnych i niezmiennych, takich jak obiekty niezmienne, które zabierają wiele trudnych do rozwiązania problemów w programowaniu wielowątkowym ze względu na stan współdzielenia i zapisu. Wręcz przeciwnie, zmienne obiekty pomagają radzić sobie z tożsamością obiektu, zamiast tworzyć nowe kopie za każdym razem, a tym samym …
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.