Уровень абстракции (программирование): различия между версиями

[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
обновление
Строка 36:
 
На примере <code>[https://github.com/HowProgrammingWorks/AbstractionLayers/blob/master/JavaScript/badServer.js badServer.js]</code> просматриваются разные смешанные слоя абстракции и можно заметить такие функциональные блоки:
 
#1. Слой доступа к данным (в этом примере - работы с файловой системой)
# Парсинг, сериализация и десериализация
 
# Сервер HTTP 3.1. Кеширование ответов 3.2. Работа с Cookie 3.3. Склеивание буфера 3.4. Логирование вызовов 3.5. Маршрутизация обработки запросов
#2. Парсинг, сериализация и десериализация
# Бизнес-логика, относящаяся к предметной области
 
# Управление зависимостями
3. Сервер HTTP
# Конфигурирование (например, порт и хост)
 
# Подстановка переменных в шаблоны
3.1. Кеширование ответов
 
3.2. Работа с Cookie
 
3.3. Склеивание буфера
 
3.4. Логирование вызовов
 
3.5. Маршрутизация обработки запросов
 
#4. Бизнес-логика, относящаяся к предметной области
 
#5. Управление зависимостями
 
#6. Конфигурирование (например, порт и хост)
 
#7. Подстановка переменных в шаблоны
 
На этом же примере видно, что структура кода очень важна. Лучше не смешивать разные слоя абстракции и не сцеплять функциональные блоки, так как код становиться однородным.