Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 14.08.2010 Ostrzeżenie: (0%)
|
Witam, wiem że w tym dziale jest już świeży temat o stosowaniu OOP, jednak chciałbym aby ktoś zweryfikował mój kod czy to co robię jest zgodne z założeniem OOP.
Jest to przykładowy game framework, dla treningu. Mam w nim 4 klasy User, UserManager, Character, CharacterManager, oto one :
Index.php
Pytania: 1. Głowne - czy ten kod jest zgodny z OOP ? 2. Czy metoda Logon() powinna być w klasie UserManager czy w osobnej np. Login 3. Czy tworzenie obiektu User a potem przekazywanie go do UserManager w celu obróbki itp jest prawidłowe ? Czy w klasie UserManager powinna być metoda tworząca obiekt User ? (to tyczy się również klas Character i CharacterManager) Proszę o wytknięcie mi błedów i sposobów w jaki mogę je poprawić (IMG:style_emoticons/default/wink.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 130 Pomógł: 11 Dołączył: 7.04.2003 Ostrzeżenie: (10%)
|
Cytat 1. Głowne - czy ten kod jest zgodny z OOP ? To czy jakiś obiekt ma sens, czyli czy powinien istnieć czy nie, nie wynika bezpośrednio z tego że program jest OOP tylko z dziedziny problemu który program rozwiązuje. Ale jeżeli hurtowo nazywasz swoje obiekty "manager" to coś może być nie tak. Zbyt ogólna nazwa sugeruje że obiekt robi zbyt wiele rzeczy lub że sam nie wiesz co ma robić. Cytat Czy metoda Logon() powinna być w klasie UserManager czy w osobnej np. Login Moja propozycja: Olej całkowicie logowanie. Skup się na problemie który twój program ma rozwiązywać. Cytat tworzenie obiektu User a potem przekazywanie go do UserManager w celu obróbki itp jest prawidłowe ? Czy w klasie UserManager powinna być metoda tworząca obiekt User ? (to tyczy się również klas Character i CharacterManager) Staramy się wstrzykiwać obiekty w inne obiekty a nie inicjalizować jedne w drugich. Oczywiście inicjalizacja musi gdzieś nastąpić. Także to że przekazujesz usera do innego obiektu jest ok, pytanie tyko czy wiesz do czego ma słuzyc manager? |
|
|
|
Fanatyko OOP czy dobrze go stosuję ? 27.08.2011, 20:16:00
Fanatyko No właśnie też złapałem się na tym, że rzucam nazw... 28.08.2011, 06:10:21
rahul mysle ze mozesz sobie poczytac moj post, zadawalem... 28.08.2011, 09:32:09
elektrrrus Prawdopodobnie całkiem przez przypadek, ale zrobił... 28.08.2011, 09:46:31
Spawnm Za łączenie z pdo powinna odpowiadać klasa db a ni... 28.08.2011, 09:51:15
smentek CytatPrawdę mówiąc nie wiem czy złapałem o co chod... 28.08.2011, 10:01:51
Fanatyko Cytatmysle ze mozesz sobie poczytac moj post, zada... 28.08.2011, 11:47:00
melkorm jeżeli masz dane w tablicy o takich samych nazwach... 28.08.2011, 12:04:58
smentek CytatZakładając, że chcę napisać klasę do logowani... 28.08.2011, 12:42:34
Fanatyko CytatIm mniejsze czyli bardziej rozdrobnione obiek... 29.08.2011, 19:31:13
Fantazyn Dla mnie kod wygląda całkiem znośnie, ale:
1. Unik... 29.08.2011, 20:12:22
banditpanda class Database {
function __construct() ... 29.08.2011, 20:16:28
Fanatyko @Fantazyn
dzięki za odpowiedź, naprawdę mi się pr... 29.08.2011, 21:52:58
smentek Cytat"W którymś tematcie o OOP było napisane,... 30.08.2011, 20:30:25
Fanatyko CytatI to jest złe stosowanie get i set. Jezeli wp... 30.08.2011, 21:11:51
daren88 Główny problem tej klasy na co już niektórzy zwróc... 3.09.2011, 21:20:21
CuteOne Mi nie podoba się jedna rzecz... zrobiłeś z klasy ... 4.09.2011, 12:22:55 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 17:10 |