К основному контенту

Сообщения

Показаны сообщения с ярлыком "ооп"

CQRS way

Слайды: slides.com/vgman/cqrs-overview

Сравнение скорости создания JavaScript объекта NoPrototype vs Prototype

Меня всегда мучил вопрос, какая разница в производительности при использовании JavaScript класса созданного, с и без использования прототипов. Вот интерес победил и я написал небольшой тест. Но для начала посмотрим на соперников.

Объектно-ориентированное программирование в JavaScript, NoPrototype стиль [Object-oriented programming in JavaScript, NoPrototype style]

Большое количество статей присутствует в бескрайнем интернете об объектно-ориентированном программирование на JavaScript. Но мне как C# программисту, привыкшему к его ООП синтаксису и количеству возможностей, которые он дает, не одна из них не подходит. Почему же? Задача Что действительно нужно от ООП в JavaScript: Инкапсуляция Наследование Полиморфизм А теперь, по-порядку. NoPrototype Многие способы реализации объект-ориентированного программирования в JavaScript основаны на использовании прототипа ( например ), но ни один из них не решает поставленную мной задачу. Данный способ не будет основан на прототипах, так что с этого следует и название стиля. Но об это далее. Класс Единственное, что нам нужно, так это выработать единый стиль написания класса в JavaScript. Приведем пример класса на C#: public class Book { // конструктор public Book(string newName) { name = newName; } // приватное поле private ...

Нет, только не JavaScript

"О нет, только не JavaScript" . Все чаще и чаще мне приходится слышать это от опытных веб-девелоперов. Вот основные их аргументы: JavaScript - не полноценный язык; JavaScript - процедурно-ориентированный язык программирования; Разберемся, так ли это... JavaScript - не полноценный язык. Ну почему же? JavaScript имеет в своем наборе: основные типы данных (строка, число, дата, регулярное выражение, массивы), циклы, функции, классы, делегаты. Также при включении фантазии в нем появляется: наследование, полиморфизм, инкапсуляция (модификаторы доступа), события, многопоточность. По-моему, JavaScript вполне полноценный язык. JavaScript - процедурно-ориентированный язык программирования. Скорее JavaScript - объектно ориентированный язык программирования с  прототипно-ориентированной парадигмой . Другими словами понятия класс в JavaScript нет, но его функциональность реализовывается синтаксисом функции. Сложно звучит, но на примере все просто и наглядно ( один из вар...