Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,12 @@
## См. также

<!-- TODO: Если ссылок будет потом оч много - вынести в переменные -->
<!-- TODO: Пока что упоминаем здесь все существующие статьи - после того как их количество вырастет - сделаем более структурированную навигацию -->

- [О методологии](./about/readme.md)
- [Об архитектуре](./about/architecture.md)
- [Об истории методологии](./about/history.md)
- `NEW:` [О мотивации создания методологии](./about/motivation.md)
- [Дискуссии по методологии](https://github.com/feature-sliced/wiki/discussions)
> **Здесь обсуждаются и разбираются рельные примеры применения, вопросы, проблемы, идеи методологии**
>
Expand Down
20 changes: 15 additions & 5 deletions about/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,15 +96,25 @@
- `project-dev` Возможность контролировать разработку проекта
- `code-mutations` **Просто расширять/модифицировать/удалять код**
- `decoupling` Декомпозиция & Изолированность функционала и абстракций
- `disposability` Возможность отрефакторить некоторые части отдельно и изолированно от других позднее
- `disposability` Возможность удалить/тотально отрефакторить некоторые части отдельно от других позднее
> - **Не нужно оптимизировать под изменения** - мы не можем предсказывать будущее
> - **Лучше - оптимизировать под удаление** - на основании того контекста, который уже имее
>
> Т.е. любая абстракция (feature/entity/...) должна быть спроектирована, как "одноразовая"
>
> *При таком подходе гораздо легче будет "отрефакторить что-то одно, без особых последствий", нежели "пытаться отрефакторить весь сильносвязный монолит"*

### `adaptivity` Адаптивность/Кастомизируемость
- `custom-architecture` **Подход помогает выстроить свою нужную архитектуру**
- `easy-integrate` Легко внедрять в проекты с уже имеющейся архитектурой
### `adaptability` Адаптивность/Кастомизируемость
- `infrastructure-agnostic` **Подход помогает выстроить подходящую проекту архитектуру**
- `easy-integration` Легко внедрять в проекты с уже имеющейся архитектурой
> Чтобы даже [при базовой адаптации](https://github.com/feature-sliced/wiki/discussions/22) проектов по нашей методологии - *чувствовался профит*
- `usability` Применимость для разных проектов
- `versatility` Применимость для разных проектов
> Не везде, например, нужны "процессы" - поэтому нужны в том числе и *опциональные абстракции и решения*
- `tech-independent` Независимость от фреймворка и платформы
- `scalability` Легко масштабируется при развитии проекта
> Логика проекта не уменьшается со временем, как и не уменьшается команда разработки
- `flexibility` Легко подстраивается под изменяющиеся требования проекта
> Обычно проект *относительно легко* строится на первых итерациях. Но большинство примеров архитектур не выдерживают изменение требований / функциональности - т.к. изначально рассчитаны под "изначальный слепок ожиданий"


---
Expand Down
Loading