Wzorzec projektowy rejestracja, edycja danych, panel administracyjny

Wzorzec projektowy rejestracja, edycja danych, panel administracyjny
QU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

Witam

Piszę niewielką aplikację webową z bardzo rozbudowanym profilem użytkownika (około 100 pól różnorakiego typu). Pola są zapisywane razem w 3 tabelach + tabele zawierające obrazki. Jednym słowem, żeby zapisać użytkownika jest całkiem dużo kodu.

Ten kod musi działać w trzech miejscach:

  • Rejestracja użytkownika
  • Panel edycji użytkownika na koncie użytkownika
  • Panel edycji użytkownika w panelu administracyjnym

Pytanie jakiego wzorca projektowego powinnam użyć?

Chodzi mi jeden po głowie wzorzec, ale nie chce się zdradzać żeby nic nie sugerować :P

Wizzie
  • Rejestracja: dni
  • Ostatnio: dni
0

Ale jaki wzorzec projektowy? Chodzi tylko o to, żeby nie powtarzać kodu. Nie napisałaś w czym programujesz, ale np. w Django jest możliwość automatycznego tworzenia formatek z modelu bazy. Jeżeli twój framework tego nie wspiera, to skombinuj np. wspólny szablon takiej formatki dla rejestracji i paneli.

QU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0
Wizzie napisał(a):

Ale jaki wzorzec projektowy? Chodzi tylko o to, żeby nie powtarzać kodu. Nie napisałaś w czym programujesz, ale np. w Django jest możliwość automatycznego tworzenia formatek z modelu bazy. Jeżeli twój framework tego nie wspiera, to skombinuj np. wspólny szablon takiej formatki dla rejestracji i paneli.

Chodzi o to, żeby nie duplikować kodu typu:

$user->setImie( $_POST['imie'] );

To stary serwis pisany w Zend Framework 1.

Moim zdaniem powinno się dać zrobić jakiś kody, który wywoływałby się mniej więcej tak:

SaveUser($user, $_POST);

Oczywiście w Zendzie nie odwołuję się bezpośrednio do $_POST :P

P.S. czy ten Django umożliwia również działanie na relacjach? Np. mam Obiekt obrazek i do niego dowolną ilość obiektów Opis to też mi to wszystko ładnie zeserializuje?

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.