Как реализовать архитектуру приложения?
От: Аноним  
Дата: 17.03.10 13:36
Оценка:
прошк прощения за маленький кросспост — но тема уж неоднозначная

Работал я до этого с вэб AJAX проектами
Все там замечательно, я б жил бы и не тужил, но остутсвие элементарных элементов ввода и сложность их написания и всякое такое подвигло миня в сторону WPF
Проет был большой, но прелесть AJAX и JavaScript втом что они динамические
Проект активно развивался и динамически менялся, но на жисть юзера это ника не влияло отрицательно — весь контент кэшировался на клиенте. Если добавлялась новая функциональность — просто грузился скриптик с описанием класса, кэшировался и сразу включался в контекст приложения
Ежели чегото менялось — перезагружался лишь скриптик с измененным классом и система работала по-новому
При этом достигалось следующее:
— Старт приложения был величиной постоянной (контент есть и кэширован)
— изменения и дополнения загружались при необходимости и не отвлекали юзера


При переходе на WPF у меня возникает ощущение невозможности реализации такого функционала
Пока вижу что проект пишется как одно целое (и доставляется с помощью ClickOnce) следовательно:
— каждый день юзер будет ждать (как минимум при 1м запуске) пока обновленное перезагрузится на клиента
— с каждым днем это будет занимать все больше и больше времени
— нет как я понял простого метода разбить проект на сборки по классам и использовать их динамически без раннего связывания (загрузить их динамически с сервера можно, но нужно реализовывать сложные манипуляции и использовать спецфреймворки для реализации плагин-поведения)


Да и забыл еще добавить — у нас в приложении было реализовано до 30 ролей и в каждом минимум 10 классов, а максимум 300 классов (ну эт еще не предел для ваятеля ), реализующих объекты бизнесс-логики
Так вот в вэб приложении каждому юзеру грузились скрипты той роли под которой он зарегистрирован в системе и те скрипты другой роли, которая делегирована ему на время

В WPF получается все эти "приложения" и все все классы должны быть уже в одной сборке приложения!!!
разбивать приложение по ролям — глупо! потому как если юзеру делегированы дополнительные роли — он что должен искать откуда их устанавливать, да и проблемно это все
У нас в интерыейсе был переключатель доступных ролей — переключил роль — поменялся интерфейс и его функциональность — работай на здоровье с приложением данной роли!


все както грустно, а я был такой жизнерадостный рахит, когда впервые увидел ее....WPF, мы влюбились с первого взгляда, но наша любовь бьется об камни будней ...
WPF (или ЦЗА ) — я люблю тибя!!!

Народ помогите влюбленным!
Re: Как реализовать архитектуру приложения?
От: akarinsky Россия  
Дата: 17.03.10 14:55
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Народ помогите влюбленным!

Если сможете полюбить так же горячо Silverlight, то могу подсказать, как бороться с Вашими бедами.
Сейчас дописываю проект на нем, решал перечисленные Вами задачи без особых трудностей.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[2]: Как реализовать архитектуру приложения?
От: Аноним  
Дата: 17.03.10 15:25
Оценка:
Здравствуйте, akarinsky, Вы писали:
A>Если сможете полюбить так же горячо Silverlight, то могу подсказать, как бороться с Вашими бедами.
A>Сейчас дописываю проект на нем, решал перечисленные Вами задачи без особых трудностей.

Дык они же близнецы и братья!
уже полюбил! подскажите пожалуйста!
Re: Как реализовать архитектуру приложения?
От: Аноним  
Дата: 18.03.10 16:10
Оценка:
неужели юольше никто ничего не посоветует? (
Re[3]: Как реализовать архитектуру приложения?
От: akarinsky Россия  
Дата: 19.03.10 06:55
Оценка:
Здравствуйте, Аноним, Вы писали:

.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[3]: Как реализовать архитектуру приложения?
От: akarinsky Россия  
Дата: 19.03.10 06:59
Оценка:
Черт, контент-фильтр на работе совсем достал. Отвечу из дома.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[3]: Как реализовать архитектуру приложения?
От: akarinsky Россия  
Дата: 23.03.10 19:27
Оценка:
Ну тогда давайте перейдем к конкретике.



Нужно помнить, что Silverlight-приложение в виде пакета передается клиенту, где кэшируется в браузере.

При изменении пакета на сервере при след.обращении клиента произойдет обновление и в кэше браузера будет уже актуальная версия.

Вручную управлять обновлением или частичной загрузкой можно, но не представляю в этом необходимости.

Рекомендую первым делом засесть за изучение WCF RIA SERVICES. Зачетнейшая вещь, в разы упрощающая работу по написанию Rich-клиента,

да и серверной стороны тоже.



Как раз доделываю проект при помомощи нее.

Будут конкретные вопросы — welcome.
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.