rafakl 1 Zgłoś post Napisano Listopad 10, 2013 Witam, Otóż miałem do zrobienia aplikację z formularzem logowania, która przyjmuje wpisy (data, akcja, jaki użytkownik to zrobił etc). Aplikacja ta również posiada opcje edycji wpisów, usuwania ich, dodawania oraz przeglądania coś a la logów (po prostu do innej tabeli wpisuje to co userzy robili). Taka prosta aplikacyjka. Mam pytanie w związku z tym, jak zrobić do tego klasy aby dało się zrobić dokumentację w UML w diagramie klas. Czy w takiej prostej aplikacyjce takie coś w ogóle da się zrobić? Wiem, że może mętnie to wytłumaczyłem, także w przypadku jakiś pytań chętnie odpowiem. PS. w aplikacji tej, nie definiowalem własnych funkcji, wszystko robilem na prostym html'u oraz na komendach PHP typu mysql_query, mysql_fetch_row, etc i do tego if'y oraz pętle while Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Listopad 11, 2013 Odpowiem pytaniem na pytanie (wiem, że to nieładnie): a potrafisz programować obiektowo? Nie bierz tego do siebie, ale jak widzę po forach pytanie "jak zrobić do tego klasy", to człowiek łapy załamuje. Bo mnie się wydaje, że (któreś z dwu): - totalnie nie rozumiesz idei OOP, nie wiesz czym są klasy, obiekty, etc. - ja tragicznie nie rozumiem Twojego pytania (albom za durny, albo tak je napisałeś, że sensu nie łapię. Obie możliwości są prawdopodobne w tym samym stopniu). Udostępnij ten post Link to postu Udostępnij na innych stronach
rafakl 1 Zgłoś post Napisano Listopad 11, 2013 (edytowany) Odpowiem pytaniem na pytanie (wiem, że to nieładnie): a potrafisz programować obiektowo? Nie bierz tego do siebie, ale jak widzę po forach pytanie "jak zrobić do tego klasy", to człowiek łapy załamuje. Bo mnie się wydaje, że (któreś z dwu): - totalnie nie rozumiesz idei OOP, nie wiesz czym są klasy, obiekty, etc. - ja tragicznie nie rozumiem Twojego pytania (albom za durny, albo tak je napisałeś, że sensu nie łapię. Obie możliwości są prawdopodobne w tym samym stopniu). Hej pedro, Właśnie dopiero powoli uczę się programować (moje doświadczenie w programowaniu w PHP to zaledwie miesiąc) oraz nie do końca łapię obiektowość. Bardzo właśnie zależało by mi gdyby ktoś na podstawie programu który napisałem, powiedzial mi jak zrobić w niej klasy bo wtedy myślę że chwycilbym ich sens i chwyciłbym na czm polega obiektowość. PS. Ja myslałem żeby zrobić klasę autentykacja, usuwanie wpisów, dodawanie wpisów, edycja wpisów, dziennik zdarzeń, oraz klasę operacje na wpisach która była by uogólnieniem dodawania, edycji i usuwania wpisow. czy takie podejście jest dobre? Prosze o wyrozumiałość, ja już wpominałem moje doświadczenie z programowaniem to zaledwie miesiąc. Edytowano Listopad 11, 2013 przez rafakl (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Listopad 11, 2013 (edytowany) Przedstawię Ci najprostszą definicję obiektowości jaką znam. Masz zrobić aplikację, która przechowuje dane o jakiś tam osobach. Każda osoba ma Imię, Nazwisko, Wiek. Jak byś to zaprogramował nieobiektowo? Pewno zrobił jakieś 3 tabele o wspólnych indexach, w której każda przechowuje co innego. Tworzę sobie klasę/obiekt Osoba. Nadaje jej atrybuty Imię string, Nazwisko string i Wiek integer. Teraz tworzę sobie jedną tablicę/listę, która przechowuje obiekty typu Osoba. Całość sprowadza się do pojedynczego dodania nowej osoby z konkretnymi danymi i dodaniu jej do listy. A potem można np. dla każdej osoby for eachem wypisać jej wiek czy tam Imię. Javowo rozwalenie takiego zadania na klasy jest szybsze prostsze i skuteczniejsze niż zabawy z tablicami. Generalnie tak długo póki operujesz na czymś co ma więcej atrybutów niż jeden wprowadza się klasy. Idąc najprostszym możliwym torem wystarczy Ci lista obiektów typu "wpis". A sam wpis ma tam aukcje osobę czy co tam chcesz. I w ten sposób można stworzyć obiekt User, który ma id hasło IP, a potem Wpis który ma jakąś nazwę, środek i Usera, który go napisał (zauważ, że mamy obiekt w obiekcie). Edytowano Listopad 11, 2013 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
rafakl 1 Zgłoś post Napisano Listopad 11, 2013 (edytowany) Hej archi Chyba bardziej załapalem sens obiektowości. Na przykladzie mojej aplikacji miałby sens taki podzial na klasy? klasa autentykacja klasa operacje na wpisach, która była by uogolnieniem klasy dodawanie wpisów, klasy edycja wpisów, klasy usuwanie wpisów klasa logowanie zdarzeń klasa wylogowywanie Podział ten wymyśliłem na takiej podstawie że diagram klas UML z takimi klasami dobrze pokazywałby strukturę programu Taki podział ma sens? Jesli nie to jaki inny lepiej zaproponować? Edytowano Listopad 11, 2013 przez rafakl (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
PapaSmerf 497 Zgłoś post Napisano Listopad 11, 2013 No to wybrałeś najgorszy chyba możliwie język do nauki OOP, chociaż zmienia się to, ale dosyć powoli. Jak dla mnie, to są to dwa modele: User, Log reprezentujące kolekcję obiektów w bazie danych. Zarówno logowanie, jak i wylogowanie powinno być częścią jakiejś warstwy Security (albo Auth). To nie są osobne klasy, dalej nie łapiesz Parę rad (pisane prostym językiem): - używaj angielskiego nazewnictwa klas, baz danych, tabel, kolumn (nie ma nic gorszego niż Uzytkownicy_ID) - pamiętaj o Zasadzie pojedynczej odpowiedzialności (Wiki: http://pl.wikipedia.org/wiki/Zasada_jednej_odpowiedzialno%C5%9Bci) nie klep klas, które robią "wszystko" PS. Nie ma w języku polskim słowa "autentykacja" Udostępnij ten post Link to postu Udostępnij na innych stronach
rafakl 1 Zgłoś post Napisano Listopad 11, 2013 No to wybrałeś najgorszy chyba możliwie język do nauki OOP, chociaż zmienia się to, ale dosyć powoli. Jak dla mnie, to są to dwa modele: User, Log reprezentujące kolekcję obiektów w bazie danych. Zarówno logowanie, jak i wylogowanie powinno być częścią jakiejś warstwy Security (albo Auth). To nie są osobne klasy, dalej nie łapiesz Parę rad (pisane prostym językiem): - używaj angielskiego nazewnictwa klas, baz danych, tabel, kolumn (nie ma nic gorszego niż Uzytkownicy_ID) - pamiętaj o Zasadzie pojedynczej odpowiedzialności (Wiki: http://pl.wikipedia.org/wiki/Zasada_jednej_odpowiedzialno%C5%9Bci) nie klep klas, które robią "wszystko" PS. Nie ma w języku polskim słowa "autentykacja" A mogłbyś zaproponować jakiś model UML do tego? Wtedy może bardziej chwyce o co w tym chodzi na zywym przykładzie Udostępnij ten post Link to postu Udostępnij na innych stronach
c_tom 0 Zgłoś post Napisano Listopad 11, 2013 pamiętaj by naukę zaczynać od POCZĄTKU - programowania również, bo bez podstaw będzie jak w tym dowcipie :wjechał rolnik na pole kombajnem i ... kur#$% zapomniałem zasiać !jak ciężko Ci zrozumieć pisane słowo to może to http://www.youtube.com/results?search_query=php+oop+kurs&sm=3 Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 11, 2013 @Archi mi w szkole pani mówiła że jak Java to tylko obiektówka Udostępnij ten post Link to postu Udostępnij na innych stronach
Pan Kot 1535 Zgłoś post Napisano Listopad 11, 2013 (edytowany) @Kamikadze I generalnie to się sprawdza, bo na dzień dzisiejszy jeśli widzę, że coś można rozwalić łatwiej, lepiej i przyjemniej za pomocą klas to to robię. Aczkolwiek również nie można ich wciskać na siłę, jak to zamiar ma zrobić pan dwa posty wyżej. Dobry programista czuje gdzie klasa będzie pięknie pasowała, a gdzie lepiej jej unikać. Jeśli mamy "coś", co ma różne atrybuty jak np. usera, post, to lepiej to wcisnąć jako klasy/obiekty. Jak mamy coś pojedynczego jak temat czy adres IP to większego sensu to nie ma. Edytowano Listopad 11, 2013 przez Archi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość Kamikadze Zgłoś post Napisano Listopad 11, 2013 No wiadomo jak program jest typu hello world to kombinacje alpejskie będą Udostępnij ten post Link to postu Udostępnij na innych stronach