Рубрика «clean architecture»

Последние 5 лет я изучаю и практикую DDD как стратегический, так и тактический, везде, где представляется возможным. И вот чем больше я погружался в тактическую часть - тем чаще возникал вопрос "это я дурак или лыжи не едут". Пришло понимание того, что огромнейшая часть сообщества структурирует код своего контекста забыв о самом главном:

Структура и язык кода должны соответствовать бизнес-домену

Читать полностью »

Привет! Сегодня хочу поделиться с тобой опытом перехода от Feature-Sliced Design к Clean Architecture во фронтенде. Почему я считаю Clean Architecture более подходящей для сложных приложений, и как она решает проблемы, с которыми ты точно сталкивался.

Если ты используешь FSD или до сих пор пишешь всю логику в компонентах React — эта статья точно для тебя.

FSD: популярно, но не без проблем

Feature-Sliced Design сейчас одна из самых популярных методологий во фронтенде. И не зря — она действительно помогает структурировать код лучше, чем хаотичное размещение файлов.

Что хорошего в FSD?

Хочу поделиться подходом, который родился у меня в процессе разработки нескольких проектов. Весь код доступен в репозитории (ссылка в конце статьи), а также опубликован в виде pub-пакета.

Объяснение проблемы

На сегодняшний день во флаттер разработке сформировались несколько подходов к State Management, такие, как MobX, Redux, Bloc и прочие. Они по-своему хороши, но описывают лишь часть архитектуры, нежели полноценный подход к построению приложения. В то же время у нас есть Clean Architecture, который можно применять в разработке практически любого проекта на любом языке и фреймворке.

Читать полностью »

В чем разница и когда что использовать? Это был один из вопросов, на которые я пытался получить ответ.

Попытаюсь тут описать ту практику, которую считаю не плохой. С примерами на PHP. Постараюсь описывать на простом языке - без использования сложной терминологии.

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

DTO(Data Transfer Object)

DTO - это объект класса необходим для передачи структурированнойЧитать полностью »

Рисунок 0. Как я писал статью на Хабр

Рисунок 0. Как я писал статью на Хабр

Введение: Проблемы современных Go-проектов

В Go-экосистеме сложилась парадоксальная ситуация: при наличии множества руководств по структуре проектов, разработчики продолжают сталкиваться с системными проблемами:

Читать полностью »

В свое время FastAPI прогремел как гром среди ясного неба - тут тебе и минималистичный API аля-Flask (все устали от Django, диктующего свои правила), и OpenAPI документация из коробки, и удобное тестирование, и хайповая асинхронность. Буквально все, что нужно для свободы творчества, и никаких ограничений! Да еще и Depends завезли! В тот момент это был культурный шок - Dependency Injection в Python? Разве это не что-то из Java?

FastAPI показал, что DI - это паттерн, упрощающий разработку вне зависимости от языка программирования. Теперь DIЧитать полностью »

Введение

В этом гайде мы напишем с вами Android-приложение с нуля, используя лучшие архитектурные подходы – Clean Architecture и MVVM с элементами MVI, они обеспечат поддерживаемость, тестируемость и масштабируемость приложений, что особенно важно для сложных и долгосрочных проектов..

Стек в нашем проекте будет следующим:

  • Kotlin, Kotlin Coroutines, StateFlow – для асинхронной обработки данных и управления состоянием

  • Jetpack Compose – для создания современного пользовательского интерфейса

  • Room – для локального хранения данных

  • Dagger Hilt Читать полностью »

Что будет, если скрестить конструирование компиляторов, DDD и Clean Architecture? Опыт HydraScript - 1

В этой статье я расскажу о двухлетнем эксперименте, проводимом над моим пет-проектом, интерпретатором ЯП HydraScript. Почему к разработке из области системного программирования были применены промышленные практики, и зачем конструированию компиляторов нужен Domain Driver Design с чистой архитектурой?

Исходники проекта Читать полностью »

В огромном приложении Android с Clean Architecture много рутинной работы, связанной с отображением объектов между различными слоями. Хорошим решением будет автоматизация этого процесса.

В этой статье рассматривается опыт использования библиотеки MapStruct, которая помогает mapp-ить объекты.

Библиотека очень гибка в настройке. И позволяет минимизировать написание шаблонного кода.

Вот пример того, как реализовать gradle зависимости в вашем проекте.

plugins {
   kotlin("kapt") version "1.9.22"
}
dependencies {
   implementation("org.mapstruct:mapstruct:1.6.0")
   kapt("org.mapstruct:mapstruct-processor:1.6.0")
}

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js