Pakiet programów do zdalnego nauczania Programowania Orientowanego Obiektowo
Dzisiaj jest
Poniedziałek, 16 Lipiec 2018
Zarejestrowanych użytkowników: 4
Dostępnych pytań testowych: 102
HOME
Strona tytułowa pracy dyplomowej
NAUKA
Materiały dydaktyczne związane z OOP
TESTY
Sprawdzenie poziomu zdobytej wiedzy
ZASOBY
Literatura i zasoby sieciowe o OOP
ŹRÓDŁA
Zbiór projektów dydaktycznych z OOP
KONTO
Możliwość śledzenia własnych postępów
INFO



Atomowość zmiany stanów

Zastosowanie wzorca projektowego Stan w stosunku do wykorzystywania instrukcji warunkowych ma jeszcze jedną, bardzo znaczącą zaletę. Jeśli wszystkie składniki dotyczące poszczególnych stanów znajdują się w klasie kontekstu to zmiana stanu może doprowadzić do braku spójności danych w obiekcie. Dzieje się tak, ponieważ zmianie stanu może towarzyszyć wiele niezależnych operacji wykonywanych po sobie. Jeżeli jedna z tych operacji zawiedzie, a wcześniejsze zostaną już wykonane obiekt może znaleźć się w stanie nieokreślonym. Co prawda można skorzystać z bezpiecznej inicjalizacji składników (np. przez użycie zręcznych wskaźników), jednak mimo wszystko utrzymywanie obiektu w poprawnym, spójnym stanie może stanowić poważny problem.

Przy zastosowaniu wzorca projektowego Stan zachowanie spójności obiektu jest zapewnione. Jeżeli kontekst lub stan chcą zmienić obiekt stanu to cała zmiana w ogólnym przypadku sprowadza się do przypisania adresu do wskaźnika co na pewno nie spowoduje błędu. Jeśli podczas zmiany tworzony jest nowy obiekt stanu (tak jak w ostatnim przykładzie) i inicjalizacja któregoś z jego składników spowoduje wyjątek to tak czy inaczej zostanie to wyłapane przed wykonaniem instrukcji przypisania. Obiekt pozostanie po prostu w stanie poprzednim.

Adamik Łukasz, Politechnika Śląska w Gliwicach (AEiI) - 2010/11