Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [oop] Rozbijanie klas
sajegib
post
Post #1





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

Ostrzeżenie: (0%)
-----


Witam!

Mam taki pytanko do szanownego grona.

Załóżmy, że mam malutki czat oparty na OOP, do którego napisałem następujące klasy

  1. class database
  2. {
  3. //operacje na bazie, select, insert, update, same zapytania i zwracanie wyniku
  4. // dane docierające tutaj są już wyfiltrowane pod kątem SQLI itd.
  5. }
  6.  
  7. class chat
  8. {
  9. public function get_messages()
  10. {
  11.  
  12. //pobieram wiadomosci z bazy, zwracam tablice z wynikiem z bazy
  13. }
  14.  
  15. public function add_message()
  16. {
  17. // $this->validate();
  18. //dodaje wiadomosci po uprzednim wyescapowaniu
  19. }
  20.  
  21. public function validate()
  22. {
  23. //filtruje dane pod kątem sqli itd.
  24. }
  25.  
  26. }



to taki ogólny szkic, nie patrzcie na błędy, moje pytanie dotyczy raczej architektury całości (IMG:style_emoticons/default/smile.gif)

Teraz moje pytanie:
1. czy rzeczą pożądaną jest, by metoda validate była umieszczona w klasie chat, czy też powinienem stworzyć osobną klasę z metodami filtrującymi dane?
A może nie ma to żadnego znaczenia?
Gdyby było to coś większego, z pewnością zrobiłbym całą klasę walidującą (zawierałaby wtedy wiele metod)

2. Czy ma sens robić klasę zawierającą tylko jedną metodę?
Jak 'powinno się robić' i dlaczego?

Ten post edytował sajegib 23.04.2013, 23:08:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Cytat
1. czy rzeczą pożądaną jest, by metoda validate była umieszczona w klasie chat, czy też powinienem stworzyć osobną klasę z metodami filtrującymi dane?

to pewnie zależy od konkretnej sytuacji, ale jakbyś stworzył osobną klasę (albo choćby zestaw funkcji - nie bądźmy zbyt oop na siłę, bo to niezdrowe (IMG:style_emoticons/default/wink.gif) , to byś mógł ponownie użyć kodu walidacji do innych projektów/modułów niż tylko ten jeden czat.

Cytat
2. Czy ma sens robić klasę zawierającą tylko jedną metodę?

to zależy.

Ten post edytował PrinceOfPersia 24.04.2013, 00:53:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 00:36