Создавайте приложения так, чтобы они могли работать без пользовательского интерфейса или базы данных. Это позволит запускать автоматизированные регрессионные тесты, продолжать работу при недоступности базы данных, а также связывать приложения друг с другом без какого-либо участия пользователя.
Рубрика «ооп» - 2
Алистер Коберн «Гексагональная (порты и адаптеры) архитектура»
2025-09-11 в 11:15, admin, рубрики: гексагональная архитектура, ооп, проектирование системКратко о вариантности с примерами на TypeScript
2025-09-05 в 5:13, admin, рубрики: generics, TypeScript, вариантность, дженерики, ковариантность, контравариантность, ооп, теория типовВ теории типов вариантность описывает отношение между двумя обобщёнными типами (дженериками). Например, в каких обстоятельствах родительский тип может быть заменён дочерним, а в каких — нет, и так далее.
На эту тему можно найти множество ресурсов, особенно таких, где всё описано длинно и сложным, формально-архитектурным языком. Мне бы хотелось создать короткую и простую памятку (с небольшими вкраплениями формализмов), к которой можно легко вернуться, если вдруг забудутся детали.
Ковариантность
Отношение ковариантности представляет собой обычное отношение подтипа, когда более Узкий/ДочернийЧитать полностью »
Паттерны проектирования в Python, о которых следует забыть
2025-08-20 в 12:28, admin, рубрики: python, ооп, перевод, Совершенный кодВолшебство ООП или как упростить многопоточное программирование C++
2025-08-18 в 16:49, admin, рубрики: thread, type_traits, многопоточность, оопПредисловие
Итак, начнём мы с постановки задачи: мы хотим упростить вызов некой функции, которая является методом класса в отдельном потоке и при этом иметь инструментарий для её остановки / проверки статуса работоспособности / запуска и прочее. Разберём классический вариант класса, который будет содержать такой метод:
Читать полностью »
Хватит страдать: Выбросьте ООП и ECS. Есть путь проще
2025-08-08 в 22:36, admin, рубрики: ecs, entity-component, KISS, kiss-принцип, архитектура, архитектура системы, ооп, паттерны проектированияДесятилетиями нам рассказывают, что есть только два пути: громоздкие иерархии ООП или стерильная бюрократия ECS. Нас заставили поверить в то, что создание игр — это выбор между анархией и диктатурой.
Это ложь. Оба этих пути — ненужные усложнения. Есть прямой и эффективный способ, который мы променяли на модные, но непрактичные примочки. Эта статья — о том, как вернуться к здравому смыслу.
Java и ООП: путешествие туда и обратно
2025-08-06 в 13:19, admin, рубрики: c++, java, simula, Кейси Муратори, оопНедавно на подкасте Spring АйО мы обсуждали новые свитчи в Джаве - с паттерн-матчингом и деструктуризацией. Я тогда ещё выразил мнение, что всё это неправославно, по-зумерски и отход от принципов ООП.
Не от инкапсуляции, полиморфизма и наследования, а вообще от подхода. Новые свитчи будут провоцировать разработчиков писать код по-новому, а не так, как завещали нам наши далёкие предки. С нарушением традиций, норм и устоев. Как учит Кейси Муратори, если вы понимаете о ком я.
«Щи: симулятор жестокости» или «Как не надо делать игры»
2025-08-04 в 8:36, admin, рубрики: Gamedev, solid, антипаттерны, геймдев, качество кода, ооп, паттерны, С++, спагетти-код, юморПеред прочтением
Многие из нас слышали про лучшие практики в программировании (KISS, DRY, SOLID, паттерны и прочее). У начинавшего разработчика при их изучении встает немой вопрос «а зачем мне все это?». Ответом на вопрос может послужить знаменитая в узких кругах игра «Щи» и статья автора, рассказывающая о процессе разработки. Однако оригинальный пост уже давно утерян в просторах интернета.
Пишем чат-бота для мессенджера MAX на Python
2025-07-23 в 8:16, admin, рубрики: api, bot, github, max, polling, PyPi, python, модуль, оопПривет, коллеги! На связи ботострой на aiogram
Немного предыстории
По своему опыту я привык работать с aiogram — это удобный и отлаженный фреймворк для Telegram-ботов с большим сообществом и обширной документацией. В aiogram удобно организовывать обработку команд, создавать сложные состояния, работать с inline-клавиатурами и встроенными механизмами.
Когда начал знакомиться с мессенджером MAX, я подумал, а почему бы не попробовать написать под него модуль для разработки чат-ботов на PythonЧитать полностью »
SOLID, DRY, KISS, YAGNI и др. принципы разработки, пугающие новичка в IT
2025-07-05 в 9:16, admin, рубрики: apo, bduf, best practices, DRY, KISS, solid, YAGNI, бритва оккама, ооп, принципы разработки
Данная статья является более расширенной версией моей научной статьи, на примере разработанного ПО для спортсменов-биатлонистов c абстрактными примерами, соответствующих тематики.
Exceptions -> OperationOutcome
В мире php-ходящих есть мнение, что первое, что сказал Иисус Христос придя в этот мир: "исключения - зло".
Причина, по которой появилась эта статья проста и банальна: автору надоело отлавливать тонну кастомных исключений между слоями приложения.
Исключения в php - мощный и гибкий способ отлавливать непредвиденные события, произошедшие при выполнении операции. И самое главное здесь то, что исключения предусмотрены на уровне самого языка.
Конструкция по типу try { .. } catch (Exception $e) { ..$e->getMessage() } знакома каждому 5 человеку в мире и воспринимается как неотъемлемая часть любой логики на php.

