Почему класс Process находится в пространстве имен Diagnostics? - PullRequest
39 голосов
/ 12 октября 2009

Почему класс Process является частью пространства имен Diagnostics?

Это часть дизайна BCL, которая заставляет меня задуматься некоторое время. Я нахожу это несколько нелогичным, я не вижу связи между Process и, например, классами Debug и Trace.

Ответы [ 2 ]

24 голосов
/ 12 октября 2009

Что ж, согласно документации , «пространство имен System.Diagnostics предоставляет классы, которые позволяют вам взаимодействовать с системными процессами, журналами событий и счетчиками производительности». Так что я думаю, что по определению это подходит. : -)

Но да, это похоже на перегрузку терминов, если поместить их рядом с вещами, которые более явно связаны с диагностикой (трассировка, счетчики производительности).

Тем не менее, я бы сказал, что класс Process так же важен для мониторинга запущенных процессов, как и для запуска новых. Мониторинг обычно считается диагностической деятельностью. Кроме того, для большинства программистов это может быть менее интуитивно понятно, если инфраструктура разделит функциональность, относящуюся к одному и тому же элементу, в отдельных пространствах имен. Таким образом, я могу видеть логику включения этого здесь.

12 голосов
/ 12 октября 2009

Класс процесса не просто представляет отдельный процесс. Он содержит массу информации о запущенных процессах на компьютере. Эта информация может использоваться для поиска проблем или просто для получения общей информации о состоянии вашей системы.

Вы можете увидеть описание пространства имен диагностики здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.aspx

и описание класса процесса здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

...