Got ten wywiad pytanie, które Zastanawiam o:OOP Projekt Pytanie
Firma oprogramowanie zaprojektowane aplikacji, która zarządza pracowników, a wśród innych funkcji, oblicza wynagrodzenia.
Obecna struktura, która pasuje do wymagań klienta jest:
abstract Class Employee;
Class Manager extends Employee;
Class Engineer extends Employee;
Klient będzie teraz chciałbym dodać możliwość obsługi różnych typów obliczeń wynagrodzenia dla pracowników, którzy pracują na stawki godzinowej, miesięcznego wynagrodzenia. Zarówno inżynier, jak i menedżer mogą być albo.
Klient powiadomił również firmę produkującą oprogramowanie, że w przyszłości doda kilka innych rodzajów wynagrodzeń.
Pytanie - Jak zaprojektowałbyś to? Czy w przypadku rozwiązania dowolnego wzoru wzoru?
Dzięki!
Dziękuję. To było moje przeczucie. Będę czekać przez godzinę, aby zobaczyć inne opinie. BTW - Czy nie jest to raczej delegat niż strategia? http://p2p.wrox.com/book-professional-php-design-patterns/78122-differences-between-delegate-strategy-pattern.html – Turd
Używając "Wzorca delegowania" oznacza to, że Pracownik nie oblicza wynagrodzenie samo w sobie, ale przekazuje to do obiektu strategii. Nie mówi nic o różnych modelach obliczania wynagrodzeń. "Wzorzec strategii" oznacza, że będziesz mieć różne podklasy, po jednej dla każdego rodzaju obliczania wynagrodzenia. Nie określa, gdzie odbywa się obliczenie (różne podklasy mogą po prostu dostarczyć metadane, aby pomóc "pracownikowi" wykonać odpowiednie obliczenia). Oba wzory będą miały zastosowanie tutaj, a ja "strategią" jest to, o czym rozmawialiście. –