start

o mnie

jak zamawiać

najczęściej zadawane pytania

nasze projekty

szybki kontakt

znalezione w seci

Obiektowo czy strukturalnie  ???

Szczerze mówiąc to odpowiedź można ograniczyć do jednego słowa - obiektowo ale zacznijmy od początku a więc od definicji:

Programowanie obiektowe to metodyka pisania programów komputerowych definiująca programy przy pomocy obiektów łączących dane i zachowania programu (czyli procedury i funkcje zwane tu metodami). Program wyrażony jest jako suma takich obiektów, komunikujących się ze sobą w celu wykonywania postawionych zadań. Umożliwia to sprawne pisanie dużych projektów przez zespoły programistów poprzez składanie ich ze wzajemnie współpracujących obiektów odpowiadających za poszczególne elementy programu.

Programowanie strukturalne jako rozwinięcie koncepcji programowania proceduralnego to metodologia pisania programów której podstawą jest hierachiczny podział kodu na modły komunikujące się ze sobą poprzez ściśle określone interfejsy. Dane, procedury i funkcje nie są ze sobą bezpośrednio związane a polecenia wykonywane są sekwencyjnie. Podstawą programowania strukturalnego są instrukcje warunkowe i pętle natomiast za swego rodzaju faux pas uważane są wszelkiego rodzaju skoki.

Tyle obiektywnych definicji, teraz czas na (zapewne nieobiektywne) opnie: Otóż moim zdaniem. Mimo że programowanie obiektowe narzuca programiście pewien reżim i obostrzenia które często zniechęcają młodych adeptów to jednak poświęcenie odrobiny czasu na naukę programowania obiektowego niesie za sobą niepodważalne korzyści.

Wyliczać można długo , zacznę od tych które wydają mi się najważniejsze: po pierwsze każdy napisany obiektowo program, możemy wykorzystywać w dalszej pracy przenosząc poszczególne klasy do innej aplikacji, łatwiej o lokalizację błędu, łatwiej zrozumieć program napisany jakiś czas temu odwrotnie niż w przypadku programowania strukturalnego, często by poprawić czy zmienić malutki fragment danych musielibyśmy edytować wiele fragmentów aplikacji, wcześniej poświęcając mnóstwo czasu na zrozumienie co programista miał na myśli. (uwierzcie mi że nawet samodzielnie pisane programy po kilku miesiącach i latach wydają się nam zupełnie obce i niezrozumiałe)

Niezwykle ważna wydają się możliwości jakie wynikają z obiektowego podejścia do danych i programów dla całych zespołów programistów - ludzi którzy w praktyce często nawet się nie znają a tworzą wspólnie olbrzymie aplikacjie posługując się we wzajemnej komunikacji jedynie opisami interfejsów metod danej klasy bez wnikania co się tam dzieje w środku. Kolejną zaletą programowania obiektowego, jest to, że kod jest czytelny i przejrzysty, wystarczy rzut oka i po chwili wiemy, za co odpowiada dany fragment programu,

 Zdecydowanie inaczej sytuacja przedstawia się w przypadku programowania strukturalnego, kod jest nie czytelny, po drugie raz napisany kod nie nadaje się do kolejnego użytku, a przystosowanie go do innych zastosowań wiąże się z bardzo wieloma poprawkami w wielu różnych miejscach. Program napisany strukturalne raczej ponownie się nie przyda - zwykle programiście mniej czasu zajmie napisanie nowej klasy od zera, niż miałby babrać się bez końca w starym kodzie.

Kończąc swoją wypowiedź, pozwolę sobie wyrazić nadzieję że te kilka słów które napisałem przekonają Was do tego by programować obiektowo. Nie mam złudzeń że to tylko drobny fragment zalet programowania obiektowego - jest ich dużo więcej podczas pracy z konkretnymi zadaniami (szczególnie w grupach) każdego dnia będziecie znajdować ich więcej i więcej.

 

poprzednia strona       następna strona