Disconnected смотрятся неконсистентно.  Либо Connected/Disconnected, либо AfterConnect/AfterDisconnect.
                  
                  
                  - старт сервера с помощью isListening = true; смотрится странно. Я бы ожидал методы .Start / .Run
                  
                  
                  - у сервера можно заимплементить IDisposable, чтобы использовать с using
                  
                  
                  - как насчет асинхронных методов в контракте?
                  
                  
                
Во, годно. Сейчас подготовлю ответ.
- названия событий AfterConnect и Disconnected смотрятся неконсистентно. Либо Connected/Disconnected, либо AfterConnect/AfterDisconnect. Не соглащусь. Я пробовал такой интерфейс. У коннекта есть явные два события - Before и After. Первое нужно чтобы например отсекать подключения. У дисконнекта же Before быть не может. Здесь унификация имен лишь внесёт путаницу. - старт сервера с помощью isListening = true; смотрится странно. Я бы ожидал методы .Start / .Run Согласен. Это был эксперимент и я метался. Проперти удобнее, но неожиданно. - у сервера можно заимплементить IDisposable, чтобы использовать с using О_о Заимплеменчу ща. Пропустил. - как насчет асинхронных методов в контракте? На подходе. Хочу сначала сделать аккуратно обычный флоу.
Обсуждают сегодня