Bounty Edit:
Я ищу код, написанный в чистой прототипической парадигме OO (думаю, Self). Не смесь прототипического ОО и классического ОО. Я не хочу видеть общие обертки OO, а просто использовать прототипные методы OO и только прототипные методы OO.
Связанный с этим вопрос:
Прототипическое OO в JavaScript
В приведенном выше вопросе я в основном сосредоточился на
Можно написать прототипное OO, как это?
Нужны ли нам конструкторы и логика инициализации, Каковы альтернативы?
Новый вопрос:
В принципе, есть ли хорошие примеры прототипического OO javascript в больших проектах с открытым исходным кодом?
Разъяснение:
Мне нужно будет уточнить, что я имею в виду с прототипом OO:
- Нет классов. Есть только объекты.
- Существует нулевая эмуляция понятий классов, снова есть только объекты и клонирующие объекты для создания новых объектов.
Дальнейшее уточнение прототипического ОО:
Различие между прототипом OO в JavaScript и классической эмуляцией OO - очень серая область. Это не то, что я ценю, избегая классического ОО. Я хочу изучать прототипное ОО в академической манере самостоятельно, не изучая (возможно, более оптимальную) комбинацию классической эмуляции ОО и прототипического ОО.
Вот почему я "запрещаю" классы, чтобы я мог видеть эти методы в чистом виде и расширять свой собственный набор инструментов OO.
<сильные > Примеры:
Популярные примеры, такие как jQuery, не соответствуют второму критерию. Объект jQuery
- это одна эмуляция большого класса. Он фокусируется на создании новых объектов из класса, а не клонирования существующих объектов.
Если бы я действительно знал какой-нибудь пример использования "чистого" прототипа ОО, я бы показал вам. Я считаю, что 99% JavaScript OO слишком сильно зависит от классической эмуляции.
Бонусные очки
Если
- Это хорошо соответствует/документировано
- Имеет модульные тесты
- Входит в github.
Я также буду принимать статьи/учебные пособия и примеры того, как писать прототипный код OO, который выходит за рамки вашего тривиального всемирного приложения hello.