![]() |
![]() |
![]()
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
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 |
|
|
![]() |
![]()
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 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Single responsibility principle
Ja bym w tą stronę szedł.
Ten post edytował skowron-line 24.04.2013, 08:27:43 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
O to mi chodziło, dzięki!
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
1. Załóżmy, że mam do pobrania z formularza plik($_FILES) oraz jakąś opcję($_POST), czy odebrać te dane w jednej klasie?
2. Atrybuty $file i $option zrobić statycznymi, czy lepiej przekazywać je za pomocą delegacji? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 352 Pomógł: 59 Dołączył: 16.01.2013 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 26.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Ciągle mam uczucie, że powinno się to rozdzielić na dwa kontrolery. Niby dane z jednego formularza, ale POST i FILES niewiele mają ze sobą wspólnego, każda pójdzie odrębną strukturą klas(patrząc na UML).
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:04 |