LevT
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору 2as PhoenixUA Цитата: Есть конкретно классы начиная с версии 5.0: | Классы есть, в первую очередь для определения собственых DSC ресурсов. Для других целей Джонс пока не рекомендует их использовать. От преобразования функции в класс теряется встроенный функционал пошика, а класс получается всё равно не столь уж классичен. Цитата: Где помимо наследования, есть еще: - инкапсуляция - полиморфизм | Этих предметов в пошике навалом, только это не привычные игрушки для ОО-школяров Полиморфизм например в типе продвинутых функций (командлетов). См. ParameterSet Ну, и они есть в .NET Командлет это .NET класс-наследник определенного типа с существенно важными атрибутами: в начале рекомендовалось писать свои и расширять готовые командлеты на C#. Пока не доделали этот функционал пошика (а сделать его планировалось изначально) Цитата: PS инструмент для кого/чего? Программирования? Администрирования? Если админа, то не вижу задач где наследование может понадобиться. | Чуть выше я только что написал, для чего: Пошик это инструмент для взаимодействия мастеров и мотивированных подмастерий. Даже когда что-то делаешь для себя, полезно поочерёдно вступать в эти роли. Реализация должна отвечать в первую очередь на вопрос: как это будет использоваться? Добавлено: Цитата: С этой позиции и хотелось бы узнать причину и необходимость наследования, "хука" в Вашей терминалогии в PS. | Прокси-скрипт вытаскивает наружу машинерию трубы - ту, которая тотально пронизывает все командлеты и работает в пошике помимо нашего сознания и желания. Для меня важна возможность изучения и потенциальной модификации этой функциональности. Для новичков у Джонса есть готовый пример с добавлением определённой css в заголовок сконвертированного HTML Добавлено: Цитата: Если программёра, то зачем ему инструмент, изначально заточенный для админа, на что недвусмысленно указывают алиасы.. | Вот на это есть окончательный ответ: алиасы только для однострочников-однодневок, чтобы админу не лезть в привычные cmd/bash. Алиасы разворачивать обязательно, если скриптом предполагается делиться (хотя бы с собой же, но через полгода). Есть ScriptAnalyzer, который не пропускает в галерею алиасы. Есть ISESteroids с рефакторингами, первый из которых разворачивает алиасы. Добавлено: Цитата: Есть ли возможность в PS строить что-нибудь подобное классам (из ООП) - применительно к командлетам с отражением в репозитарии, например? | Репозиторий предназначен для распространения в первую очередь модулей. Модуль - это коллекция тесно связанных командлетов, расширенных типов данных, выводных форматов, руссско- и прочеязычных текстов справки и проч. Снабженная psd1 дескриптором, предназначенным для репозитория (тот может переваривать эти дескрипторы и публиковать в соответствии со своей дополнительной логикой) PS распознаёт дескрипторы модулей, установленных в $env:PSModulePath За установку туда модулей и работу с внешними репозиториями отвечает изкоробочный модуль PackageManagement Внешние репозитории должны быть сетевыми шарами или нугет-фидами. | Всего записей: 17744 | Зарегистр. 14-10-2001 | Отправлено: 13:04 02-09-2017 | Исправлено: LevT, 15:29 02-09-2017 |
|