Pull to refresh
1
0
Сергей @blew

User

Send message

Блеск и нищета модели предметной области

Reading time28 min
Views47K


Мартин Фаулер в книге «Patterns of Enterprise Application Architecture» описывает «Модель предметной области (Domain Model)» как сложный подход к организации бизнес-логики. Метод заключается в создании классов, соответствующих объектам предметной области из реального мира как с точки зрения структуры данных, так и поведения. При этом технические аспекты, такие как хранение данных, аутентификация и авторизация, управление транзакциями, выносится за пределы слоя бизнес-логики. Паттерн реализуется одним из двух способов:

  1. Богатая (насыщенная) модель — данные и поведение инкапсулируются внутри объектов предметной области.
  2. Анемичная модель — в объектах предметной области инкапсулируются только данные, поведение (методы) выносится в отдельный слой сервисов.

Фаулер и Эванс считают анемичную модель анти-паттерном. Однако многие кодовые базы, с которыми мне доводилось работать, реализованы именно в стиле «анемичной» модели. Под катом расшифровка и видео моего доклада с DotNext 2019 Moscow, посвященного сравнению сильных и слабых сторон обоих подходов и не очевидным деталям реализации модели предметной области в парадигме ООП и в функциональном стиле.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments46

Эксперимент с двумя щелями и границы макромира

Reading time8 min
Views75K

В 1900, последнем году XIX века, Макс Планк открыл кванты света: показал, что энергия света передается в виде минимальных энергетических пакетов. Так зародилась квантовая физика, которая, казалось бы, совершенно случайно попала из XXI века в начало XX-го. На практике квантовая механика оказалась одной из самых точных и строгих систем, известных науке: принципы квантовой механики лежат в основе деления атомного ядра, действия лазера, работы полупроводников. Сегодня уже осуществлены квантовая телепортация и квантовые вычисления. При этом, еще в 1927 году, на пятом Сольвеевском конгрессе, посвященном проблемам квантовой механики, состоялся знаменитый спор между Альбертом Эйнштейном и Нильсом Бором по поводу интерпретируемости квантовой механики. На тот момент победила точка зрения Бора («копенгагенская интерпретация»), указывающая, что следует абстрагироваться от концептуализации событий, происходящих при квантовых взаимодействиях, удовлетворившись математической согласованностью квантовой механики. При этом квантовая система понимается во многом как «черный ящик», но ее уравнения с удивительной точностью подтверждают результаты экспериментов.

Основное отличие квантовой физики (доминирует в микромире) от классической физики (доминирует в макромире) заключается в вероятностном характере квантовых процессов. Так, применительно к электрону в атоме, уравнения квантовой механики дают распределение вероятностей, указывающих, в какой точке орбитали должен быть электрон – и именно там он и оказывается по результатам эксперимента.

Читать далее
Total votes 42: ↑39 and ↓3+36
Comments153

Семь принципов создания современных веб-приложений

Reading time19 min
Views187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.

В то же время существует ряд вопросов относительно его роли и конкретного использования, на которые многие затрудняются ответить, в том числе авторы фреймворков и библиотек.

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

Особенности зарубежной типографики

Reading time5 min
Views17K
Несколько месяцев назад я столкнулся с задачей верстки буклета на французском языке. Оказалось, что в рунете тема зарубежной типографики представлена крайне скупо, поэтому необходимую информацию пришлось находить и переводить самостоятельно.
В данной статье я хотел бы рассказать о наиболее примечательных, на мой взгляд, европейских типографических традициях, их сходствах и различиях.

Читать дальше →
Total votes 105: ↑104 and ↓1+103
Comments46

Information

Rating
Does not participate
Location
Россия
Works in
Date of birth
Registered
Activity