2013-11-04 17 views
5

Kiedy używać klona (nie definicja)? Mogę zainicjować obiekt i użyć obiektu, więc dlaczego użyć klona w prawdziwym świecie?Motywacja dla obiektów klonów

Jaka jest motywacja płytkiego klonu (wiem, że kopiuje on typy wartości i zawiera odniesienie do typu referencyjnego)?

proszę podać przykłady z realnego świata, a nie definicję klona, ​​klona lub płytkiego klona.

z góry dzięki.

Odpowiedz

4

proszę podać mi przykłady z realnego świata

Jeśli masz obiekt, który nie jest bezpieczeństwo wątków, ale można sklonować go do wielu niezależnych instancji można następnie wykorzystać te pojedyncze przypadki na różnych wątkach.

1

proszę podać mi przykłady z realnego świata

jeden z przykładów, które użyłem kilka dni temu:

opracowałem składnik drukowanie różnego rodzaju dokumentów na podstawie komponentu strony trzeciej .

W moim kontekście jest to złożona konstrukcja, a nie "tania" i "łatwa" do utworzenia instancji. Czasami potrzebuję więcej niż jednego komponentu do drukowania. Więc używaj płytkiego klona i wymieniaj tylko obiekt konfiguracyjny ("podobiekty" komponentu drukującego, który dostarcza wszystkich informacji dotyczących środowiska drukowania) daje mi to, czego potrzebuję, z ilością pracy.

0

Przykład może wyglądać następująco: możesz chcieć zachować bieżące wartości obiektów i pod pewnymi warunkami możesz przywrócić poprzednią wartość. Pomyśl o ustawieniach aplikacji. W oknie ustawień możesz nacisnąć anuluj lub zapisz. Jeśli naciśniesz przycisk anulowania, musisz odrzucić wszystkie zmiany. więc sklonuj obiekt ustawień, pokaż go użytkownikowi, a jeśli go naciśniesz, zapisz po prostu wartości od sklonowanego obiektu i ustaw na prawdziwy obiekt

Powiązane problemy