Наследование на уровне приложений
От: Keith  
Дата: 04.07.09 15:19
Оценка:
Задача:
Есть решение состоящее из трех приложений в соответсвии с ролями пользователей:
1. Оператор
2. Менеджер
3. Директор
Рещение пишется в традициях паттерна MVP (на сколько я понимаю):
View полностью пассивен, классы Presenter'ов знают как о логике работы View, так и о бизнес-логике, которая (в основном) заключена
в вызовы сервисных (серверных) методов.
Проблема заключается в том, что приложение для директора включает в себя приложение для менеджера, которое ключает в себя
приложение для оператора. Т.е. это по сути одно приложение, но предоставляющее расширенные функции для определенных ролей.
Из соображений секьюрности все-таки не желательно делать это в виде одного приложения, чтобы у оператора не было физической
возможности работать за своим компом под директором.
Естественно, возможно некоторое расширение/изменение функционала приложения оператора в функционале приложения директора, например
в виде дополнительных контролов с информацией или дополнительных пунктов меню или изменении поведения при отбработке событий.

Вопросы:
Как в таком случае организовать "наследование" приложений?
При изменении поведения пары View/Presenter в родительском приложении можно унаследоваться (напирмер) от существующего Presenter'а
и подставить измененную реализацию куда нужно.
Для этого, как я вижу, необходимо устранить жесткие зависимости от реализации конкретных Presenter'ов с помощью IoC/DI, но это все
что я вижу.
Опыта в этом нет, о разноообразии возможных требований могу только догадываться, поэтому хочу узнать у более опытных коллег
— каким путем идти и каких граблей ждать.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.