Здравствуйте.
Пишу клиент-серверную программу для работы с приборами.
Сервер:
— управляет работой приборов
— собирает данные
— работает с базой данных
— предоставляет командный интерфейс для управления действиями клиенту
Клиент:
— получает от сервера данные
— отображает данные (графики, таблицы)
— управляет работой через командный интерфейс
Хотел реализовать клиент на WPF состоящий из 3 модулей: tcpclient — clientcore — wpf. Каждый модуль работает в своем потоке. Не понимаю, как увязать ядро клиента, где по моим предположениям хранились бы все данные (модели) с окнами. Гугля читал про mvvm, думал — может быть, ядро будет строить из моделей вьюмодели и выдавать их в окна, но тогда это получается потеря всех прелестей биндингов — придется делать конвертация из моделей в вьюмодели и работать по запросам. Хотелось бы сделать какие-то биндинги и связать данные из ядра в одном потоке с окнами wpf в другом потоке.
Хотел бы получить помощь и подсказки по архитектуре, как реализовать связывание. Возможно, все мои мысли выше бред, и вы подскажете, так как надо делать "правильно".
Здравствуйте, Sterk, Вы писали:
S>Хотел бы получить помощь и подсказки по архитектуре, как реализовать связывание. Возможно, все мои мысли выше бред, и вы подскажете, так как надо делать "правильно".
Связку tcpclient — clientcore надо реализовать так, чтобы потом можно было прикрутить или wpf, или вообще обычную консоль. Модели ничего не должны знать про окна. Зависимости обратные: окна знают про модели вида, модели вида знают про модели, модели знают про tcpclient, в другую сторону связей никаких нет.
Здравствуйте, Sterk, Вы писали:
S>Хотел бы получить помощь и подсказки по архитектуре
Просто перестань прыгать по испражнениям ИТ-шных теоретиков — пусть сами на своём МВЦ пишут. Тупо сделай принимающий клиент, общие списки каких-то данных (можно даже observable collection) и формы для их отображения. Сэкономишь кучу нервов и главное — сделаешь так, что сам потом сможешь через год разобраться.
Здравствуйте, Vladek, Вы писали:
V>надо реализовать так, чтобы потом можно было прикрутить или wpf, или вообще обычную консоль.
Именно поэтому и выстраиваю такую цепочку. Что бы ядром можно было в будущем управлять не только из окон, но к примеру автоматизированным ботом.
Хочу использовать MVVM Light Toolkit, но по нему так мало информации, а тем более на родном языке. Может быть подскажите туториалы охватывающие все аспекты разработке с использованием данного фрэймворка?
Здравствуйте, Sterk, Вы писали:
S>Именно поэтому и выстраиваю такую цепочку. Что бы ядром можно было в будущем управлять не только из окон, но к примеру автоматизированным ботом. S>Хочу использовать MVVM Light Toolkit, но по нему так мало информации, а тем более на родном языке. Может быть подскажите туториалы охватывающие все аспекты разработке с использованием данного фрэймворка?
MVVM Light Toolkit очень простой, так что, думаю, этой вводной статьи будет достаточно, чтобы начать.