obiektówka - jaki całościowy przykład

obiektówka - jaki całościowy przykład
  • Rejestracja: dni
  • Ostatnio: dni
0

witam,
ucze sie od dwoch miesiecy delphi,
poznaje tzw. obiektowke, tworze klasy i je obsluguje.
Jednak nie jestem pewien ze robie to profesjonalnie, w ogole raczej moje calosciowe programowanie nie jest profoesjonalne.

Mam prosbe zatem zebyscie podali mi zrodlo do jakiegos malego programiku( kod), ktory waszym zdaniem jest napisany poprawna obiektowka na poziomie bardzo dobrym.
moze to jakis wasz projekt?
bardzo mi zalezy, pozdrawiam

babubabu
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 648
0

Programowanie obiektowe

Ciężko google zapytać?

  • Rejestracja: dni
  • Ostatnio: dni
0

od tego co na stronie to zaczynalem dawno temu,
prosba jest o co innego, trudno mi znaleŹĆ jakis profsjonalny przyklad skoro nie moge okreslic jego zaawasowania z moja wiedza

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
1

StringsEx.pas - pisałem tą klasę co prawda dwa lata temu (jakość kodu nie jest rewelacyjna), ale podstawowe zagadnienia z obiektowości są tam zaimplementowane; Do tego masz wszystko zakomentowane co pozwoli Ci na szybsze zrozumienie kodu; Jest długi - ok. 2500 linii - ale powinieneś go ogarnąć;

Klasa ta służy do przechowywania łańcuchów danych w pamięci (w dynamicznej tablicy dynamicznych tablic), do tego jest zestaw metod służących do modyfikacji jej zawartości;

Miłej lektury;

  • Rejestracja: dni
  • Ostatnio: dni
1

jakość kodu nie jest rewelacyjna

No to po co się nim chwalisz.

Mam prosbe zatem zebyscie podali mi zrodlo do jakiegos malego programiku( kod), ktory waszym zdaniem jest napisany poprawna obiektowka na poziomie bardzo dobrym.

Co według ciebie oznacza "poziom bardzo dobry"? Zazwyczaj chodzi o KISS, więc o nie utrudnianie rzeczy.

Zapewne chodzi Ci o jakość kodu który produkujesz. Po 2 miesiącach pewnie nie jest on zbyt wysokiej jakości. Jednak nie łatwo jest się nauczyć dobrze zarządzać kodem, generalnie chodzi o praktykę czyli o kodzenie. Jeżeli chcesz mieć jakieś wzory to zależy jakie masz priorytety ale jest wiele kodu z otwartoźródłowych projektów które dadzą ci wgląd jak to wygląda w praktyce. Natomiast nie warto jest tracić czasu na ciągłe przyglądanie się temu kodowi, warto jest pisać dużo samemu to będziesz mieć wyczucie do czego warto zrobić procedurę, do czego klasę, jakie typy danych zastosować etc.

AN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 125
0

trudno mi znaleŹĆ jakis profsjonalny przyklad skoro nie moge okreslic jego zaawasowania z moja wiedza

Przejrzyj źródła (Windows.pas, Classes.pas itd), masz ich na komputerze "mnóstwo", wybierz odpowiedni dla swojej wiedzy, przeanalizuj linia po linii.
Analiza kodu zawsze pomaga w nauce zasad programowania.

  • Rejestracja: dni
  • Ostatnio: dni
0

Zaczynanie nauki programowania obiektowego od Delphi jest jak nauka pływania rozpoczynana od zwiedzania miejskich łaźni, a poziom expert kończy się na sztuce utrzymania się na wodzie.

Wybierz sobie jakiś czysty obiektowy język i w nim próbuj. Potem możesz wrócić do Delphi. Od razu będziesz programować z dobrą praktyką.
Gdy jeszcze do tego poznasz jakiś czysty funkcyjny język, to twoje obiekty będą bardziej przygotowane pod wielowątkowość.

Dziwi mnie dlaczego tego nie uczą w szkołach, a jedynie badziewnego Pascala lub C (czy inne języki imperatywne) bez żadnych podstaw na dziś. Tak jakby świat IT zatrzymał się 20 lat temu.

NE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 29
0

RS
W szkołach nie uczą...
No bo kto ma uczyć...
99% to dupolizy z zerowym pojęciem o czymkolwiek (za wyjątkiem lizania d**y).
Przy takim stanie edukacji trzeba być wdzięcznym za C, Pascala, C++ (no i co tam jeszcze z konkretów nauczają)

  • Rejestracja: dni
  • Ostatnio: dni
0

no pobralem tamten kod StringEx.pas i jest niezle.

Moze uscislilbym teraz o co mi chodzilo konktetniej, bo sprawdzilem jak sie to nazywa itp..

mianowicie czy ma ktos moze DObrze zaimplementowany model MVC ( na klasach) w swojej aplikacji lub innej?

chodzi mi, zebym zobaczyl jak prawidlowo oddzielac kod od interfejsu itp - tego na pewno nie ucza w szkolach, zreszta ja x lat temu w szkole to mialem office i stronki w html...

Prosze wrzucac co macie :) !

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12269
0

jakość kodu nie jest rewelacyjna

No to po co się nim chwalisz.

Panie mądralo, gdzie się chwalę?! Napisałem że jakość kodu nie jest rewelacyjna, więc nie znaczy to że jest chujowa, ale do doskonałości pozostaje jeszcze trochę; To, że podałem przykład pisany dawno temu nie znaczy, że się chwalę, poza tym jestem z tego kodu dumny, bo działa tak jak planowałem; Wszystko w tej klasie działa jak należy, nie ma wycieków pamięci i innych większych bug'ów, stąd pytający może śmiało się z nim zapoznać - po to go tutaj pokazałem, a nie żeby się chwalić; Poza tym w kodzie modułu zawarte jest kilka ciekawych mechanizmów z OOP, które trzeba się nauczyć, stąd uważam podanie tego kodu za przykład jako dobry pomysł; Autor tematu jest ainteresowany zagadnieniami z obiektówi, których kilka oczywiście jest zawartych w klasie, a nie czas przeszukiwania macierzy czy zapisu do pliku; Za to Ty jak zwykle chwalisz się swoją pogardą i nieuprzejmością; Skończ dogryzać wszystkim i pisz z sensem, ja przynajmniej podałem przykładowy kod, Ty nie;

no pobralem tamten kod StringEx.pas i jest niezle.

Thx;

  • Rejestracja: dni
  • Ostatnio: dni
0

Panie mądralo, gdzie się chwalę?! Napisałem że jakość kodu nie jest rewelacyjna, więc nie znaczy to że jest c****, ale do doskonałości pozostaje jeszcze trochę; To, że podałem przykład pisany dawno temu nie znaczy, że się chwalę, poza tym jestem z tego kodu dumny, bo działa tak jak planowałem; Wszystko w tej klasie działa jak należy, nie ma wycieków pamięci i innych większych bug'ów, stąd pytający może śmiało się z nim zapoznać - po to go tutaj pokazałem, a nie żeby się chwalić; Poza tym w kodzie modułu zawarte jest kilka ciekawych mechanizmów z OOP, które trzeba się nauczyć, stąd uważam podanie tego kodu za przykład jako dobry pomysł; Autor tematu jest ainteresowany zagadnieniami z obiektówi, których kilka oczywiście jest zawartych w klasie, a nie czas przeszukiwania macierzy czy zapisu do pliku; Za to Ty jak zwykle chwalisz się swoją pogardą i nieuprzejmością; Skończ dogryzać wszystkim i pisz z sensem, ja przynajmniej podałem przykładowy kod, Ty nie;

Ależ cię strasznie dotknęła moja mała złośliwość!
Moim zdaniem podawanie swojego kodu jest gorszym rozwiązaniem niż polecenie mu jakichś otwartoźródłowych rzeczy. Zwłaszcza że sam zauważyłeś że jakość kodu nie jest najlepsza. Ot cała tajemnica mojego pisania bez sensu. Ale ty oczywiście weźmiesz wszystko mega do siebie i będziesz twierdzić jaki to nieuprzejmy i niedobry jestem. Żeby opowiadać jaki to niedobry jestem musisz najpierw rozumieć to co mówię, a ty chyba zbyt się tym emocjonujesz żeby być obiektywnym.
Raz jeszcze ci pogardliwie i nieuprzejmie wyjaśnię: Chodziło mi o to że kolega szukał 'idealnego' przykładu (co jest ofc niemożliwe) więc IMO lepiej jest podać większy projekt gdzie zalety dziedziczenia widać jak na dłoni i w którym kod jest życiowy. Moim zdaniem bardziej życiowy jest jakiś otwartoźródłowy duży projekt niż twoja jakaś biblioteka do czegoś.

  • Rejestracja: dni
  • Ostatnio: dni
0

Zgodzę się z -123oho jak najbardziej - przykład który podał** Furious Programming** nie jest najlepszy.
Może moduł jest dobry, działa i spełnił wszystkie założenia biznesowe ale nie jest to dobry przykład do nauki programowania obiektowego.
Tak samo jak przeglądanie plików Windows.pas, Classes.pas nie jest najlepszym pomysłem pod tym kątem.
Jak napisał Anoxic - analiza kodu zawsze pomaga w nauce. Zgodzę się z tym, ale kodzenie, kodzenie i jeszcze raz kodzenie jest najlepszym nauczycielem.
Jestem zwolennikiem minimalizacji, kilkanaście lat doświadczenia w programowaniu nauczyło mnie że należy rozbijać kod na jak najmniejsze bloki.
Co to znaczy. Otóż funkcje/procedury powinny być jak najkrótsze a klasy/moduły jak najmniejsze. Nie należy robić metod kompleksowych tzn. w jedną procedurę/funkcję upychać bardzo wiele zadań, które ma ona do wykonania.
Bardzo źle zarządza się klasami/modułami mającymi po kilka/kilkanaście tysięcy linii czy metodami mającymi kilka(naście) "ekranów" kodu.
Lepiej jest porozbijać wszystko na mniejsze bloki/pliki.
Tym chciałem uzasadnić moją negatywną opinię na temat nauki programowania obiektowego na przykładzie pliku StringsEx.
Nie lepiej zarządzało by się nim gdyby klasy były w osobnych plikach, własne typy czy wyliczenia również?

  • Rejestracja: dni
  • Ostatnio: dni
0

Panowie, zamiast sie klocic moze macie jakis projekt wlasnie porozbijany na mniejsze bloczki, moze w mvc nawet? chetnie sie zapoznam

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.