Базовые шаблоны проектирования в JavaScript
Несмотря на то, что мы можем написать на JavaScript все что угодно, подобное может привести к проблемам, если мы используем неправильные шаблоны проектирования или неправильно реализуем необходимый шаблон.
Разработчики, как правило, используют новейшие фреймворки и библиотеки для создания веб-приложений, объединяя две или более из них в один проект, и при том, часто забывая основные идеи создания этих библиотек.
Шаблоны проектирования схожи с архитектурными чертежами в том, что показывают как правильно и быстро решить проблему в разработке программного обеспечения. Они структурированы с использованием лучших практик, которые помогают обеспечить стабильность и во многих случаях безопасность наших веб-приложений. Поскольку JavaScript не является традиционным объектно-ориентированным языком программирования, определение шаблонов проектирования в нем может быть немного сложным, но не невозможным.
В этой статье мы обсудим различные шаблоны проектирования, а также то, как мы можем их наилучшим образом реализовать. Для краткости мы будем говорить только о пяти наиболее используемых шаблонах.
Типы шаблонов проектирования
В разработке программного обеспечения существует множество шаблонов проектирования. Эти шаблоны сгруппированы под тремя группам, которые мы вкратце рассмотрим ниже:
Порождающие шаблоны: эти шаблоны фокусируются на способах создания объектов. При создании объектов в больших приложениях всегда присутствует тенденция усложнять ситуацию. Использование порождающих шаблонов проектирования решает эту проблему путем управления созданием объекта.
Структурные шаблоны: Структурные шаблоны обеспечивают способы управления отношениями между объектами, а также создают структуру классов. Одним из способов достижения этого является использование наследования и композиции для создания большого объекта из небольших объектов.
Поведенческие шаблоны: Поведенческие шаблоны - это шаблоны, которые фокусируются на взаимодействии между объектами. В то время как порождающие шаблоны описывают некий момент времени, а структурные шаблоны описывают более или менее статическую структуру, поведенческие шаблоны описывают процесс или поток.
Создание шаблона модуль
Модуль очень часто используется в разработке программного обеспечения, и он представляет из себя выражение, состоящее из немедленно выполняющейся функции.
(function() {
// а здесь у нас код
})();
Весь код модуля существует в закрытой области видимости. Переменные импортируются путем передачи значений, а экспортируются посредством выполнения функции, возвращающей объект. Модули полезны в крупных системах, поскольку они помогают поддерживать чистоту вашего глобального пространства имен, а также сохраняют ваши функции импортируемыми и экспортируемыми.
Пример реализуемого модуля показан ниже:
const options = {
username: 'Michail',
host : 'myrusakov.ru'
};
const Configuration = (function(params) {
// возвращает публично доступных данных
return {
login: login
};
const username = params.username \|\| '',
server = params.server \|\| '',
password = params.password \|\| '';
function checkPass()
{
if (this.password === '') {
alert('no password!');
return false;
}
return true;
}
function checkUsrname()
{
if (this.username === '')
{
alert('no username!');
return false;
}
return true;
}
function login()
{
if (checkPass() && checkUsrname())
{
// выполнить авторизацию
}
}
})(options);
Обратите внимание, что значения имени пользователя и хоста, а также пароля постоянно импортируются и экспортируются. Использование модулей обеспечивает чистую архитектуру, которая сделает ваш код более удобочитаемым и принесет меньше ошибок.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.