WPF-чат-приложение с MVVM и собственной TCP-реализацией
Разработал простой настольный WPF-чат с использованием паттерна MVVM и механизма DataBinding. Интерфейс минималистичный: список сообщений, поле ввода, индикатор подключения и список активных пользователей.
Архитектура построена по принципам MVVM:
View (WPF XAML) — только разметка и привязки;
ViewModel — команды (ICommand) для отправки сообщений, состояние подключения, ObservableCollection для списка сообщений;
Model — модели сообщений/пользователей и логика работы с сетью.
Проект задумывался как практический пример для студентов:
– работа с низкоуровневыми сетевыми классами C# (TcpClient / собственные ETcpClient, ETcpConnection);
– демонстрация чистой архитектуры с MVVM, разделением ответственности и прозрачной привязкой данных.
Я спроектировал структуру приложения, настроил MVVM, реализовал сетевую логику и привязки данных так, чтобы чат работал стабильно и обновлялся в режиме, приближенном к реальному времени.
Использованные технологии: C#, WPF, MVVM, DataBinding, ICommand, ObservableCollection, собственные TCP-классы (ETcpClient / ETcpConnection).
Архитектура построена по принципам MVVM:
View (WPF XAML) — только разметка и привязки;
ViewModel — команды (ICommand) для отправки сообщений, состояние подключения, ObservableCollection для списка сообщений;
Model — модели сообщений/пользователей и логика работы с сетью.
Проект задумывался как практический пример для студентов:
– работа с низкоуровневыми сетевыми классами C# (TcpClient / собственные ETcpClient, ETcpConnection);
– демонстрация чистой архитектуры с MVVM, разделением ответственности и прозрачной привязкой данных.
Я спроектировал структуру приложения, настроил MVVM, реализовал сетевую логику и привязки данных так, чтобы чат работал стабильно и обновлялся в режиме, приближенном к реальному времени.
Использованные технологии: C#, WPF, MVVM, DataBinding, ICommand, ObservableCollection, собственные TCP-классы (ETcpClient / ETcpConnection).