Введение
Особенность кодировочных платформ
Обозреватель классов — это функция интегрированной среды разработки (IDE), позволяющая программисту просматривать, перемещаться по или визуализировать структуру кода объектно-ориентированного программирования.
История
Большинство современных браузеров классов обязаны своим происхождением Smalltalk, одному из самых ранних объектно-ориентированных языков и сред разработки. Типичный браузер Smalltalk с "пятью панелями" представляет собой серию горизонтально соединенных панелей выбора, расположенных над панелью редактирования. Панели выбора позволяют пользователю сначала указать категорию, затем класс, а далее уточнить выбор для указания конкретного класса или метода экземпляра, реализация которого отображается в панели редактирования для изучения или изменения. Большинство последующих объектно-ориентированных языков отличались от Smalltalk тем, что они компилировались и выполнялись в отдельной среде выполнения, а не динамически интегрировались в монолитную систему, как это было в ранних средах Smalltalk. Тем не менее, концепция браузера, похожего на таблицу или графический интерфейс, для навигации по иерархии классов получила распространение. С ростом популярности C++ в конце 1980-х годов современные IDE добавили браузеры классов, сначала для простой навигации по иерархии классов, а затем для помощи в создании новых классов. С появлением Java в середине 1990-х классовые браузеры стали ожидаемой частью любой графической среды разработки.
Колонные браузеры
Продолжая традицию Smalltalk, колонные браузеры отображают иерархию классов слева направо в виде ряда столбцов. Обычно самый правый столбец предназначен для методов экземпляра или переменных конечного класса.
Контурные браузеры
Системы, основанные на Microsoft Windows, как правило, используют браузер в виде структуры, часто с яркими (хотя и не всегда понятными) значками для обозначения классов и их атрибутов.
Диаграммы
В начале 2000-х годов браузеры классов стали превращаться в инструменты моделирования, позволяя программистам не только визуализировать иерархию классов в виде диаграммы, но и добавлять классы в код, непосредственно добавляя их на диаграмму. Большинство таких систем визуализации основывались на той или иной форме унифицированного языка моделирования (UML).
Браузеры рефакторинга классов
По мере того как среды разработки добавляют возможности рефакторинга, многие из этих возможностей реализованы как в обозревателе классов, так и в текстовых редакторах. Обозреватель рефакторинга может позволить программисту переместить переменную экземпляра из одного класса в другой, просто перетащив её в графическом пользовательском интерфейсе, или объединять или разделять классы с помощью жестов мыши, вместо большого количества команд текстового редактора.
Логические браузеры
Ранним дополнением к Digitalk Smalltalk был логический браузер для правил Prolog, инкапсулированных в виде клауз в классах. Более поздние логические браузеры появились как BackTalk и SOUL (Smalltalk Open Unification Language with LiCor, или библиотека для логического вывода) для Squeak и VisualWorks Smalltalk. Логический браузер предоставляет интерфейс к Prolog, реализованному на Smalltalk (движки Lisp также часто реализовывались на Smalltalk). Сравнимый браузер можно найти в правилах ILog и некоторых системах продукционных правил OPS. Visual Prolog и XPCE предоставляют аналогичные средства просмотра правил. В случае SOUL, VisualWorks поставляется как с браузером запросов, так и с браузером клауз; Backtalk предоставляет браузер ограничений. Замечания Алана Кея о параллелях между Smalltalk и Prolog появились примерно в одно и то же время, но с очень небольшим взаимным влиянием. Текущие направления развития логических браузеров – это интерес к XSB Prolog для XUL и перенос AMZI! Prolog в среду Eclipse IDE. Правила, инкапсулированные в классы, можно найти в Logtalk и ряде объектно-ориентированных вариантов Prolog, таких как LPA Prolog, Visual Prolog и AMZI!, а также в основных версиях SICStus.
Веб-версии
Один из вариантов веб-фреймворка Seaside в Smalltalk позволяет открывать браузер классов во время выполнения в работающем веб-браузере: изменение метода немедленно вступает в силу в работающем веб-приложении. В случае Vistascript (Vista Smalltalk) для Microsoft IE7, щелчок правой кнопкой мыши по фону открывает ClassHierarchyBrowser. Это похоже на редактирование прототипов JavaScript непосредственно в веб-браузере или классов Ruby, Groovy или Jython в IDE, работающей в виртуальной машине JVM.