Рубрика «ооп» - 2
Паттерны проектирования в 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.
Гайд на полиморфизм. Основные идеи
2025-05-17 в 6:16, admin, рубрики: C#, Go, java, kotlin, polymorphism, Rust, TypeScript, ооп, полиморфизм, функциональное программированиеПолиморфизм, сколько в этом слове красивого и даже таинственного. Происходит оно от греческого πολύμορφος что означает — многообразный. В программировании это понятие встречается часто и является обыденным для понимания большинством разработчиков. Но так ли обстоят дела на самом деле?
Чаще других этот термин встречается в связанных с ООП темах как часть набивший оскомину триады вместе с инкапсуляцией и наследованием, ну и конечно же какое классическое собеседование без таких вопросов. Вроде бы все должны знать что это и однажды, чтобы проверить, я решил немного погуглить:

На хабре и в остальном интернете хватает статей с критикой ООП. Кто-то ругает эту концепцию за излишнюю многословность, кто-то рассуждает о плохих аспектах ООП, кто-то сравнивает реализации ООП в разных языках.

