This application is an analog of popular instant messengers. Can create chats and communicate with authorized users. The entire solution is based on the .NET Framework 4.7.
Wpf, Caliburn.Micro, MVVM, ViewModel-First, ResponseHandler.
Caliburn.Micro - syntactic sugar for binding ViewModel - View within Wpf. PolymorphismSharp is used to process responses from the server.
RequestHandler, (In future: EntityFramework).
PolymorphismSharp is used to process requests.
Tcp, BinarySerialization.
This library is a wrapper over TcpClient and TcpListener. Messages are sent as PacketRequest and PacketResponse.
Reflection, CLOS.
A self-written library that implements the dispatching of CLOS. In this project it is used to replace switch case.