Info o ciastkach

Eeee...
Żeby strona działała fajnie to trzeba zaakceptować obsługę pewnych plików. Jeśli jesteś nienormalny, nosisz czapkę z amelinium i siedzisz w schronie zbudowanym z poduszek to możesz je sobie wyłączyć. Autor strony nie czerpie żadnych korzyści z cookies (twierdzi nawet, że ten komunikat jest głupi), ale, cóż - Unia wymaga. Korzystając z witryny zgadzasz się z polityką cookies.

Wszystko w budowie...

Programowanie obiektowe rządzi, programowanie obiektowe radzi

"Programowanie obiektowe rządzi, programowanie obiektowe radzi, programowanie obiektowe nigdy Cię nie zdradzi" - usłyszałem w którymś odcinku kursu C++ pana Mirosława Zelenta. I cóż, trudno się z tym nie zgodzić.

Zaczynając pisać programik serwisowy nie zdawałem sobie sprawy z tego, że nagle sporo rzeczy trzeba zmienić. A to tu się zmieni typ zmiennej, gdzie indziej trzeba dodać ikonę a jeszcze gdzieś weryfikację cen zakupionych części. No i koncert życzeń "ma być tutaj to a jeszcze lepiej jakby było to". No i całość trzeba przerabiać.

Początek przeróbek nie należał do łatwych. Dużo tego nie było ale za to jaka masakra. Całość leciała funkcjami i już nie miałem pomysłu na nowe nazwy zmiennych. Aż tu nagle - "a może by to przepisać obiektowo?". Na początku wziąłem się za zlecenie, jest to osobna klasa trzymająca wszystkie swoje właściwości. Można aktualizować wartości i dodawać. Będzie jeszcze usuwanie i filtrowanie. Na początku przy filtrowaniu myślałem nad " like %:s% " ale za bardzo by to obciążyło bazę. Niby dużo rekordów na razie nie ma ale lepiej nie przeginać. Kolejna kwestia - do utworzenia obiektu potrzebny jest id przekazywany w konstruktorze. Potem pobierana jest reszta wartości. Myślałem nad pobieraniem wartości na zewnątrz i inicjalizacją przez przekazanie wszystkich wartości konstruktorem (jedno połączenie z bazą zamiast dwóch). Ale uciekłbym z jednego bajzlu w drugi.

Druga rzecz jaką poprawiłem to obiekt bazy danych. Teraz jest przekazywany do obiektu dziecka. Poprzednio był tworzony od nowa przez co duplikowały się połączenia do bazy danych (choć zamykałem połączenie w destruktorze to jakoś to nie działało). A propos "nie działania". Musiałem nieco przerobić bazę danych a, że pracuję na kilku różnych więc musiałem stworzyć programik do aktualizacji. Niby jest OK ale wartości z jednej kolumny nie chcą za żadną cholerę się przenieść. Ręcznie wpisując polecenia wszystko działa, ale z programu już nie. Dziwne. Edytowałem więc ręcznie i na razie potrzeby edycji bazy nie mam.

Konkludując - obiektowo opiszemy się więcej ale kod będzie bardziej czytelny. Ba, sam się będzie tłumaczył. Teraz zasiadam na drugim programem - tym razem do obsługi serwisu kas fiskalnych.

A na koniec.

Ryc. 1. Jest podstawowe filtrowanie, ikonki i podpowiedzi

Komentarze (0)

Nikt jeszcze nie dodał komentarza. Możesz być pierwszy.

Napisz komentarz lub zgłoś błąd

Dodane w dniu 6 lutego 2017 przez Michał Misztal
Kopiowanie powyższych wypocin dozwolone pod warunkiem podania źródła, znaczy tandemu autor + link do strony